模块:Mongoid::Extensions::Hash

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

Overview

为 Hash 类添加类型转换行为。

在命名空间下定义

模块: 类方法

实例方法摘要折叠

实例方法详细信息

# __consolidate__ (klass) ⇒哈希

已弃用。

将哈希中的键/值合并到原子 $设立下。 已弃用。 这从未打算成为公共API ,一旦最终删除此方法,其功能将不再公开。

例子:

合并哈希值。

{ name: "Placebo" }.__consolidate__

返回:

  • (哈希)

    新的合并哈希值。



42
43
44
# File 'lib/mongoid/extensions/hash.rb', line 42

def __consolidate__(klass)
  Mongoid::AtomicUpdatePreparer.准备(self, klass)
end

# __evolve_object_id__哈希

如果哈希中的每个值可转换,则将其转换为对象ID。

例子:

转换哈希值。

{ field: id }.__evolve_object_id__

返回:

  • (哈希)

    转换后的哈希值。



13
14
15
# File 'lib/mongoid/extensions/hash.rb', line 13

def __evolve_object_id__
  transform_values!(:__evolve_object_id__)
end

# __mongoize_object_id__哈希

如果哈希值可转换,则将哈希中的每个值 Mongoizes 为对象ID。

例子:

转换哈希值。

{ field: id }.__mongoize_object_id__

返回:

  • (哈希)

    转换后的哈希值。



23
24
25
26
27
28
29
# File 'lib/mongoid/extensions/hash.rb', line 23

def __mongoize_object_id__
  if id = self[' $oid ']
    BSON::ObjectId.from_string(id)
  else
    transform_values!(:__mongoize_object_id__)
  end
end

# delete_id对象

已弃用。

从哈希中删除ID值。

例子:

删除ID值。

{}.delete_id

返回:

  • ( Object )

    已删除的值,或 nil。



54
55
56
# File 'lib/mongoid/extensions/hash.rb', line 54

def delete_id
  删除('_id') || 删除(:_id) || 删除(' ID ') || 删除(:id)
end

#extract_id对象

已弃用。

从此哈希中获取 id 属性,无论它是否以下划线为前缀或是一个符号。

例子:

提取 ID。

{ :_id => 1 }.extract_id

返回:

  • ( Object )

    该 ID 的值。



67
68
69
# File 'lib/mongoid/extensions/hash.rb', line 67

def Extract_id
  self['_id'] || self[:_id] || self[' ID '] || self[:id]
end

# mongoize哈希| nil

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

例子:

将对象 Mongoize。

object.mongoize

返回:

  • ( Hash | nil )

    对象mongoized 或 nil。



79
80
81
# File 'lib/mongoid/extensions/hash.rb', line 79

def mongoize
  ::哈希.mongoize(self)
end

#可调整大小?true

这个对象的大小可以改变吗?

例子:

哈希大小是否可调整?

{}.resizable?

返回:

  • ( true )

    true。



89
90
91
# File 'lib/mongoid/extensions/hash.rb', line 89

def 可调整大小?
  true
end

#to_criteriaCriteria

已弃用。

将此哈希转换为条件。将遍历哈希中的每个键,这些键必须与条件对象上的方法相对应。哈希还必须包含“klass”键。

例子:

将哈希转换为条件。

{ klass: Band, where: { name: "Depeche Mode" }.to_criteria

返回:



102
103
104
# File 'lib/mongoid/extensions/hash.rb', line 102

def to_criteria
  条件.from_hash(self)
end