模块:Mongoid::Criteria::Queryable::Extensions::Hash

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

Overview

将查询类型转换行为添加到 Hash 类。

实例方法摘要折叠

实例方法详细信息

# __add__ (对象) ⇒哈希

使用合并策略将对象添加到哈希中。

例子:

将对象添加到哈希中。

{ field: value }.__add__({ field: other_value })

参数:

  • 对象 (哈希)

    要添加的其他哈希。

返回:

  • (哈希)

    添加了对象的哈希。



20
21
22
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 20

def __add__(对象)
  apply_strategy(:__add__, 对象)
end

# __add_from_array__ (array) ⇒哈希

将此哈希合并到提供的大量中。

例子:

将哈希值合并到数组中。

{ field: value }.__add_from_array__([ 1, 2 ])

参数:

  • 阵列 ( Array )

    要添加到的大量。

返回:

  • (哈希)

    合并的哈希值。



32
33
34
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 32

def __add_from_array__(阵列)
  { 密钥.first => 阵列.__add__(values.first) }
end

#__deep_copy__Hash

制作此哈希的深层副本。

例子:

制作哈希的深层副本。

{ field: value }.__deep_copy__

返回:

  • (哈希)

    复制的哈希值。



102
103
104
105
106
107
108
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 102

def __deep_copy__
  {}.点击 do |copy|
    each_pair do |key, |
      copy.存储(key, .__deep_copy__)
    end
  end
end

# __expand_complex__哈希

获取展开的对象。

例子:

展开对象。

obj.__expand_complex__

返回:

  • (哈希)

    扩展后的哈希值。



130
131
132
133
134
135
136
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 130

def __expand_complex__
  替换 = {}
  each_pair do |key, |
    替换.合并!(key.__expr_part__(.__expand_complex__))
  end
  替换
end

# __intersect__ (对象) ⇒哈希

使用合并策略将对象添加到哈希中。

例子:

将对象添加到哈希中。

{ field: value }.__intersect__({ field: other_value })

参数:

  • 对象 (哈希)

    要相交的其他哈希。

返回:

  • (哈希)

    与对象相交的哈希。



44
45
46
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 44

def __intersect__(对象)
  apply_strategy(:__intersect__, 对象)
end

# __intersect_from_array__ (大量) ⇒哈希

将此哈希合并到提供的大量中。

例子:

将哈希值合并到数组中。

{ field: value }.__intersect_from_array__([ 1, 2 ])

参数:

  • 阵列 ( Array )

    要相交的大量。

返回:

  • (哈希)

    合并的哈希值。



56
57
58
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 56

def __intersect_from_array__(阵列)
  { 密钥.first => 阵列.__intersect__(values.first) }
end

# __intersect_from_object__ (object) ⇒哈希

将此哈希值合并到提供的对象中。

例子:

将哈希合并到对象中。

{ field: value }.__intersect_from_object__([ 1, 2 ])

参数:

  • 对象 ( Object )

    要相交的对象。

返回:

  • (哈希)

    合并的哈希值。



68
69
70
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 68

def __intersect_from_object__(对象)
  { 密钥.first => 对象.__intersect__(values.first) }
end

#__sort_option__Hash

获取哈希作为排序选项。

例子:

获取哈希作为排序选项。

{ field: 1 }.__sort_option__

返回:

  • (哈希)

    哈希作为排序选项。



116
117
118
119
120
121
122
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 116

def __sort_option__
  点击 do |哈希|
    哈希.each_pair do |key, |
      哈希.存储(key, Mongoid::条件::转换器.to_direction())
    end
  end
end

# __union__ (对象) ⇒哈希

使用合并策略将对象添加到哈希中。

例子:

将对象添加到哈希中。

{ field: value }.__union__({ field: other_value })

参数:

  • 对象 (哈希)

    要联合的另一个哈希。

返回:

  • (哈希)

    与对象联合的哈希。



80
81
82
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 80

def __union__(对象)
  apply_strategy(:__union__, 对象)
end

# __union_from_object__ (对象) ⇒哈希

将此哈希值合并到提供的对象中。

例子:

将哈希合并到对象中。

{ field: value }.__union_from_object__([ 1, 2 ])

参数:

  • 对象 ( Object )

    要联合的对象。

返回:

  • (哈希)

    合并的哈希值。



92
93
94
# File 'lib/mongoid/criteria/queryable/extensions/hash.rb', line 92

def __union_from_object__(对象)
  { 密钥.first => 对象.__union__(values.first) }
end