Module: StringifyTime
- Defined in:
- lib/stringify_time.rb
Overview
stringify_time.rb
Instance Method Summary collapse
Instance Method Details
#stringify_time(*names) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/stringify_time.rb', line 12 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.parse(time_str)) # Chronic.parse will not raise an error to rescue from # chronic actually returns a time time = Chronic.parse(time_str) raise ArgumentError if time.nil? write_attribute(name, time) rescue ArgumentError instance_variable_set("@#{name}_invalid", true) end end define_method "#{name}_invalid?" do instance_variable_get("@#{name}_invalid") end end end |