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

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

实例方法摘要折叠

实例方法详细信息

# demogoize (object) ">日期| nil

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

例子:

将对象去妖化。

Date.demongoize(object)

参数:

  • 对象 时间

    来自mongo的时间。

返回:

  • (Date | nil)

    日期或 nil 形式的对象。



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

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

  if 对象.acts_like?(:time) || 对象.acts_like?(:date)
    ::Date.new(对象.年份, 对象., 对象.day)
  end
end

# mongoize (对象) ⇒时间| nil

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

例子:

将对象 Mongoize。

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

参数:

  • 对象 ( Object )

    要 mongoize 的对象。

返回:

  • (时间| nil )

    对象mongoized 或 nil。



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/mongoid/extensions/date.rb', line 68

def mongoize(对象)
  return if 对象.空白?
  开始
    if 对象.is_a?(字符串)
      # https://jira.mongodb.org/browse/MONGOID- 4460
      时间 = ::时间.parse(对象)
    elsif 对象.respond_to?(:__mongoize_time__)
      时间 = 对象.__mongoize_time__
    else
      nil
    end
  救援 ArgumentError
    nil
  end
  if 时间.acts_like?(:time)
    ::时间.utc(时间.年份, 时间., 时间.day)
  end
end