Class: Time
Class Method Summary collapse
Class Method Details
.from_mongo(value) ⇒ Object
192 193 194 195 196 197 198 |
# File 'lib/mongo_mapper/support.rb', line 192 def self.from_mongo(value) if Time.try(:zone).present? && value.present? value.in_time_zone(Time.zone) else value end end |
.to_mongo(value) ⇒ Object
181 182 183 184 185 186 187 188 189 190 |
# File 'lib/mongo_mapper/support.rb', line 181 def self.to_mongo(value) if value.nil? || value == '' nil else time_class = Time.try(:zone).present? ? Time.zone : Time time = value.is_a?(Time) ? value : time_class.parse(value.to_s) # Convert time to milliseconds since BSON stores dates with that accurracy, but Ruby uses microseconds Time.at((time.to_f * 1000).round / 1000.0).utc if time end end |