类:Mongoid::Criteria::Queryable::Smash

继承:
哈希
  • 对象
显示全部
定义于:
lib/mongoid/criteria/queryable/smash.rb

Overview

这是与选项和选择器一起使用的智能哈希。

直接已知子类

选项,选择器

实例属性摘要折叠

实例方法摘要折叠

构造函数详情

#初始化(别名= {},序列化器= {},关联= {},aliased_associations = {}){|_self| ... } ⇒ Smash

初始化新的选择器。

例子:

初始化新的选择器。

Queryable::Smash.new(aliases, serializers)

参数:

  • 别名 哈希 (默认为: {}

    从别名到数据库中实际字段名称的映射的哈希值。

  • 序列化器 哈希 (默认为: {}

    负责序列化值的对象的可选哈希值。 哈希的键必须是与字段名称匹配的字符串,并且值必须响应 #localized?和 #evolve(对象)。

  • 关联 哈希 (默认为: {}

    关联对象名称的可选哈希值。

  • aliased_associations 哈希 (默认为: {}

    从关联别名到数据库中实际字段名称的映射的可选哈希值。

产量:

  • ( _self )

收益参数:



52
53
54
55
56
57
58
# File 'lib/mongoid/criteria/queryable/smash.rb', line 52

def 初始化(别名 = {}, 序列化器 = {}, 关联 = {}, aliased_associations = {})
  @aliases = 别名
  @serializers = 序列化器
  @associations = 关联
  @aliased_associations = aliased_associations
  产量(self) if block_given?
end

实例属性详细信息

# aliased_associations对象(只读)

返回属性 aliased_associations 的值。



21
22
23
# File 'lib/mongoid/criteria/queryable/smash.rb', line 21

def aliased_associations
  @aliased_associations
end

# aliased_associations aliased_associations。 (Thealiased_associations.) ⇒对象(只读)



21
# File 'lib/mongoid/criteria/queryable/smash.rb', line 21

attr_reader :aliased_associations

#别名对象(只读)

返回属性别名的值。



12
13
14
# File 'lib/mongoid/criteria/queryable/smash.rb', line 12

def 别名
  @aliases
end

# aliases 别名。 (别名。) ⇒对象(只读)



12
# File 'lib/mongoid/criteria/queryable/smash.rb', line 12

attr_reader :aliases

#associations对象(只读)

返回属性关联的值。



18
19
20
# File 'lib/mongoid/criteria/queryable/smash.rb', line 18

def 关联
  @associations
end

#associations关联。 (关联。) ⇒对象(只读)



18
# File 'lib/mongoid/criteria/queryable/smash.rb', line 18

attr_reader :associations

#序列化器 ⇒对象(只读)

返回属性序列化器的值。



15
16
17
# File 'lib/mongoid/criteria/queryable/smash.rb', line 15

def 序列化器
  @serializers
end

#序列化器 序列化器。 (序列化器。) ⇒对象(只读)



15
# File 'lib/mongoid/criteria/queryable/smash.rb', line 15

attr_reader :serializers

实例方法详细信息

# [] (key) ⇒对象

通过提供的键从智能哈希中获取项目。

例子:

通过键获取项目。

smash["test"]

参数:

  • key ( string )

    密钥。

返回:

  • ( Object )

    找到的对象。



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

def [ ](key)
  获取(别名[key]) {  }
end

# __deep_copy__Smash

执行粉碎的深度复制。

例子:

执行深度复制。

smash.__deep_copy__

返回:

  • ( Smash )

    复制的哈希值。



29
30
31
32
33
34
35
# File 'lib/mongoid/criteria/queryable/smash.rb', line 29

def __deep_copy__
  self.class.new(别名, 序列化器, 关联, aliased_associations) do |copy|
    each_pair do |key, |
      copy.存储(key, .__deep_copy__)
    end
  end
end