Module: StringDateAccessors::ClassMethods

Defined in:
lib/string_date_accessors.rb

Instance Method Summary collapse

Instance Method Details

#string_date_accessors(*attributes) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/string_date_accessors.rb', line 48

def string_date_accessors(*attributes)
  attributes.each do |attribute|
    define_method "#{attribute}=" do |input|
      if input.respond_to?(:strftime) 
        super input 
      elsif input.nil? || input.empty?
        value = super(nil)
        return value # don't mark as set
      else 
        super StringDateAccessors.formatted(input)
      end
      string_date_accessors_set << attribute
    end
  end
end