Module: Mongoid::Extensions::TimeWithZone

Defined in:
build/mongoid-master/lib/mongoid/extensions/time_with_zone.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#__mongoize_time__ActiveSupport::TimeWithZone

Mongoizes an ActiveSupport::TimeWithZone into a time.

TimeWithZone always mongoize into TimeWithZone instances (which are themselves).

Returns:

  • (ActiveSupport::TimeWithZone)

    self.



13
14
15
# File 'build/mongoid-master/lib/mongoid/extensions/time_with_zone.rb', line 13

def __mongoize_time__
  self
end

#_bson_to_iObject

This code is copied from Time class extension in bson-ruby gem. It should be removed from here when added to bson-ruby. See jira.mongodb.org/browse/RUBY-2846.



31
32
33
34
35
36
37
38
39
# File 'build/mongoid-master/lib/mongoid/extensions/time_with_zone.rb', line 31

def _bson_to_i
  # 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

#mongoizeTime

Turn the object from the ruby type we deal with to a Mongo friendly type.

Examples:

Mongoize the object.

date_time.mongoize

Returns:

  • (Time)

    The object mongoized.



24
25
26
# File 'build/mongoid-master/lib/mongoid/extensions/time_with_zone.rb', line 24

def mongoize
  ::ActiveSupport::TimeWithZone.mongoize(self)
end