Module: ActiveRecord::ZonelessTimeSupport

Defined in:
lib/active_record/zoneless_time_support.rb

Instance Method Summary collapse

Instance Method Details

#zoneless_time(sym) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/active_record/zoneless_time_support.rb', line 3

def zoneless_time(sym)
  instance_eval do
    self.composed_of sym, :class_name => 'ZonelessTime::TimeWithoutZone',
      :mapping => [[sym, 'time']], :constructor => :at
    self.skip_time_zone_conversion_for_attributes << sym
    define_method "#{sym}=" do |val|
      if val.is_a? ZonelessTime::TimeWithoutZone
        super val
      else
        super ZonelessTime::TimeWithoutZone.at(val)
      end
      send sym, true
    end
  end
end