Method: Mongoid::Extensions::Date::ClassMethods#demongoize

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

#demongoize(object) ⇒ Date | nil

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 | nil)

    The object as a date or nil.



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/mongoid/extensions/date.rb', line 44

def demongoize(object)
  return if object.nil?
  if object.is_a?(String)
    object = begin
      object.__mongoize_time__
    rescue ArgumentError
      nil
    end
  end

  if object.acts_like?(:time) || object.acts_like?(:date)
    ::Date.new(object.year, object.month, object.day)
  end
end