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)