Class: Hash

Inherits:
Object show all
Defined in:
lib/timespan/core_ext/hash.rb

Instance Method Summary collapse

Instance Method Details

#__evolve_to_duration_range__Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/timespan/core_ext/hash.rb', line 9

def __evolve_to_duration_range__
  range = Range.new (self['from'] || self[:from]), (self['to'] || self[:to])
  length = self['length'] || self[:length]
  clazz = case length.to_sym
  when :long 
    ::LongDurationRange
  when :short 
    ::ShortDurationRange
  else
    ::DurationRange
  end

  clazz.new range, (self['unit'] || self[:unit] || :seconds)
end

#__evolve_to_timespan__Object



2
3
4
5
6
7
# File 'lib/timespan/core_ext/hash.rb', line 2

def __evolve_to_timespan__
  serializer = Mongoid::Fields::Timespan
  object = self
  # puts "evolve from: #{self}"
  ::Timespan.new :from => serializer.from(object), :to => serializer.to(object), asap: serializer.asap(object)
end