class MongoModel::Types::Time

Public Instance Methods

cast(value) click to toggle source
# File lib/mongomodel/support/types/time.rb, line 8
def cast(value)
  case value
  when ::Array
    base = ::Time.zone ? ::Time.zone : ::Time
    base.local(*value)
  when ::String
    base = ::Time.zone ? ::Time.zone : ::Time
    cast(base.parse(value))
  when ::Hash
    cast("#{value[:date]} #{value[:time]}")
  else
    time = value.to_time.in_time_zone
    time.change(:usec => (time.usec / 1000.0).floor * 1000)
  end
rescue
  nil
end
from_mongo(value) click to toggle source
# File lib/mongomodel/support/types/time.rb, line 30
def from_mongo(value)
  value.in_time_zone if value
end
to_mongo(value) click to toggle source
# File lib/mongomodel/support/types/time.rb, line 26
def to_mongo(value)
  value.utc if value
end