Module: StringifyTime

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

Constant Summary collapse

VERSION =
"0.0.5"

Instance Method Summary collapse

Instance Method Details

#stringify_time(*names) ⇒ Object



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

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

    define_method "#{name}_string=" do |time_str|
      begin
        write_attribute(name, Time.zone.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