模块:Mongoid::Extensions::Date::ClassMethods

定义于:
lib/mongoid/extensions/date.rb

实例方法摘要折叠

实例方法详细信息

# demogoize (object) ">日期| nil

将对象从其 mongo 友好的 Ruby 类型转换为此类型。

例子:

将对象去妖化。

Date.demongoize(object)

参数:

  • 对象 时间

    来自mongo的时间。

返回:

  • (Date | nil)

    日期或 nil 形式的对象。



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/mongoid/extensions/date.rb', line 40

def demogoize(对象)
  return if 对象.nil?

  if 对象.is_a?(字符串)
    对象 = 开始
      对象.__mongoize_time__
    救援 ArgumentError
      nil
    end
  end

  return 除非 对象.acts_like?(:time) || 对象.acts_like?(:date)

  ::Date.new(对象.年份, 对象., 对象.day)
end

# mongoize (对象) ⇒时间| nil

将对象从我们处理的Ruby类型转换为mongo友好类型。

例子:

将对象 Mongoize。

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

参数:

  • 对象 ( Object )

    要 mongoize 的对象。

返回:

  • (时间| nil )

    对象mongoized 或 nil。



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/mongoid/extensions/date.rb', line 65

def mongoize(对象)
  return if 对象.空白?

  开始
    if 对象.is_a?(字符串)
      # https://jira.mongodb.org/browse/MONGOID- 4460
      时间 = ::时间.parse(对象)
    elsif 对象.respond_to?(:__mongoize_time__)
      时间 = 对象.__mongoize_time__
    end
  救援 ArgumentError
    nil
  end
  return 除非 时间.acts_like?(:time)

  ::时间.utc(时间.年份, 时间., 时间.day)
end