lib/efo_nelfo/property.rb in efo_nelfo-0.0.6 vs lib/efo_nelfo/property.rb in efo_nelfo-0.0.7
- old
+ new
@@ -42,26 +42,30 @@
else
value
end
end
+ # Format value for given attribute
def formatted_for_csv(attr)
+
if respond_to?("format_#{attr}")
value = send "format_#{attr}"
else
value = send attr
type = properties[attr][:type]
- case type
+
+ value = case type
when :date
value ? value.strftime("%Y%m%d") : nil
when :boolean
value == true ? "J" : nil
else
value
end
end
+ value.respond_to?(:encode) ? value.encode(Encoding::ISO_8859_1) : value
end
module ClassMethods
# Creates an attribute with given name.
#
@@ -104,11 +108,10 @@
end
# Creates an attribute setter for name
def create_setter_for(name, options)
define_method "#{name}=" do |value|
- encoded_value = value.respond_to?(:encode) ? value.encode(Encoding::ISO_8859_1) : value
- attributes[name] = format_value(encoded_value, options[:type])
+ attributes[name] = format_value(value, options[:type])
end
end
# Creates a name? accessor
def create_question_for(name)