Module: StringifyTime

Defined in:
lib/stringify-time.rb,
lib/stringify-time/version.rb

Constant Summary collapse

VERSION =
"0.0.2"

Instance Method Summary collapse

Instance Method Details

#stringify_time(*names) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/stringify-time.rb', line 4

def stringify_time(*names)
  names.each do |name|
    define_method "#{name}_string" do
      read_attribute(name).to_s(:db)
    end

    define_method "#{name}_string=" do |time_str|
      begin
        write_attribute(name, Time.parse(time_str))
      rescue ArgumentError
        instance_variable_set("@#{name}_invalid", true)
      end
    end

    define_method "#{name}_invalid?" do
      instance_variable_get("@#{name}_invalid")
    end
  end
end