Module: Mongoid::Extensions::Date::ClassMethods

Defined in:
lib/mongoid/extensions/date.rb

Instance Method Summary collapse

Instance Method Details

#demongoize(object) ⇒ Date

Convert the object from its mongo friendly ruby type to this type.

Examples:

Demongoize the object.

Date.demongoize(object)

Parameters:

  • object (Time)

    The time from Mongo.

Returns:

  • (Date)

    The object as a date.

Since:

  • 3.0.0


46
47
48
# File 'lib/mongoid/extensions/date.rb', line 46

def demongoize(object)
  ::Date.new(object.year, object.month, object.day) if object
end

#mongoize(object) ⇒ Time

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

Examples:

Mongoize the object.

Date.mongoize("2012-1-1")

Parameters:

  • object (Object)

    The object to mongoize.

Returns:

  • (Time)

    The object mongoized.

Since:

  • 3.0.0


61
62
63
64
65
66
67
68
69
70
# File 'lib/mongoid/extensions/date.rb', line 61

def mongoize(object)
  unless object.blank?
    begin
      time = object.__mongoize_time__
      ::Time.utc(time.year, time.month, time.day)
    rescue ArgumentError
      EPOCH
    end
  end
end