lib/mongo_mapper/extensions/time.rb in mongo_mapper-0.12.0 vs lib/mongo_mapper/extensions/time.rb in mongo_mapper-0.13.0.beta1

- old
+ new

@@ -1,21 +1,23 @@ +require 'active_support/core_ext/time/zones' + # encoding: UTF-8 module MongoMapper module Extensions module Time def to_mongo(value) - if value.nil? || value == '' + if !value || '' == value nil else - time_class = ::Time.try(:zone).present? ? ::Time.zone : ::Time + time_class = ::Time.zone || ::Time time = value.is_a?(::Time) ? value : time_class.parse(value.to_s) - at(time.to_f).utc if time # ensure milliseconds are preserved with to_f (issue #308) + at(time.to_i, time.usec / 1000 * 1000).utc end end def from_mongo(value) - if ::Time.try(:zone).present? && value.present? - value.in_time_zone(::Time.zone) + if value and zone = ::Time.zone + value.in_time_zone(zone) else value end end end \ No newline at end of file