diff --git a/lib/cfpropertylist/rbCFPropertyList.rb b/lib/cfpropertylist/rbCFPropertyList.rb index a129100..43541e6 100644 --- a/lib/cfpropertylist/rbCFPropertyList.rb +++ b/lib/cfpropertylist/rbCFPropertyList.rb @@ -77,7 +77,7 @@ module CFPropertyList def guess(object, options = {}) if(object.is_a?(Fixnum) || object.is_a?(Integer)) then return CFInteger.new(object) - elsif(object.is_a?(Float)) then + elsif(object.is_a?(Float) || object.is_a?(BigDecimal)) then return CFReal.new(object) elsif(object.is_a?(TrueClass) || object.is_a?(FalseClass)) then return CFBoolean.new(object) diff --git a/lib/rails_extensions.rb b/lib/rails_extensions.rb index 5268c45..d3a7bfc 100644 --- a/lib/rails_extensions.rb +++ b/lib/rails_extensions.rb @@ -28,10 +28,14 @@ module ActionController if plist - if plist.is_a? Array - filename = plist.first.class.name.pluralize + unless options.nil? or options[:plist_filename].blank? + if plist.is_a? Array + filename = plist.first.class.name.pluralize + else + filename = "#{plist.class.name}-#{plist.id}" + end else - filename = "#{plist.class.name}-#{plist.id}" + filename = options[:plist_filename] end send_data(