Module: Mongoid::Extensions::TimeWithZone
Relationships & Source Files | |
Namespace Children | |
Modules:
| |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | lib/mongoid/extensions/time_with_zone.rb |
Overview
Adds type-casting behavior to ::ActiveSupport::TimeWithZone
class.
Instance Method Summary
-
#__mongoize_time__ ⇒ ActiveSupport::TimeWithZone
Mongoizes an
::ActiveSupport::TimeWithZone
into a time. -
#_bson_to_i
This code is copied from
Time
class extension in bson-ruby gem. -
#mongoize ⇒ Time
Turn the object from the ruby type we deal with to a Mongo friendly type.
Instance Method Details
#__mongoize_time__ ⇒ ActiveSupport::TimeWithZone
Mongoizes an ::ActiveSupport::TimeWithZone
into a time.
TimeWithZone
always mongoize into TimeWithZone
instances (which are themselves).
# File 'lib/mongoid/extensions/time_with_zone.rb', line 16
def __mongoize_time__ self end
#_bson_to_i
This code is copied from Time
class extension in bson-ruby gem. It should be removed from here when the minimum ::BSON
version is 5+. See jira.mongodb.org/browse/MONGOID-5491.
# File 'lib/mongoid/extensions/time_with_zone.rb', line 34
def _bson_to_i return super if defined?(super) # Workaround for JRuby's #to_i rounding negative timestamps up # rather than down (https://github.com/jruby/jruby/issues/6104) if BSON::Environment.jruby? (self - usec.to_r/1000000).to_i else to_i end end
#mongoize ⇒ Time
Turn the object from the ruby type we deal with to a Mongo friendly type.
# File 'lib/mongoid/extensions/time_with_zone.rb', line 27
def mongoize ::ActiveSupport::TimeWithZone.mongoize(self) end