类:Mongoid::Fields::Standard
Overview
表示标准字段定义(名称、类型等),用于对 Mongoid 持久保存的BSON文档实施一致的模式结构。
实例属性摘要折叠
-
# default_val ⇒ 对象
定义文档中已定义字段的行为。
-
#标签⇒ 对象
定义文档中已定义字段的行为。
-
#名称"> 对象
定义文档中已定义字段的行为。
-
# options ⇒ 对象
定义文档中已定义字段的行为。
实例方法摘要折叠
-
# add_atomic_changes (文档, name, key, mods, new, old) ⇒ 对象
为此类可调整大小的字段添加原子更改。
-
#association ⇒ Metadata
如果字段是外键,则获取该字段的元数据。
-
# eval_default (doc) ⇒ 对象
计算默认值并将其返回。
-
# foreign_key? ⇒ true | false
此字段是外键吗?
-
#initialize (name, options = {}) ⇒ 标准
构造函数
使用名称和可选附加选项创建新字段。
-
#惰性? ⇒ true | false
该字段是否执行延迟默认评估?
-
# localize_present? ⇒ true | false
是否存在本地化字段强制值?
-
#已本地化? ⇒ true | false
字段是否本地化?
-
# object_id_field? ⇒ true | false
该字段是否为BSON::ObjectId?
-
# pre_processed? ⇒ true | false
该字段是否预处理其默认值?
-
# type ="Class"
获取此字段的类型 - 从类名推断。
构造函数详情
#initialize (name, options = {}) ⇒标准
使用名称和可选附加选项创建新字段。
71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/mongoid/fields/standard.rb', line 71 def 初始化(名称, = {}) @name = 名称 @options = @label = [:label] @default_val = [:default] # @todo:Durran,更改4.0中的 API 以将类作为参数。 # 在此暂时解决 # 2529问题,而不更改 # 构造函数签名。 if default_val.respond_to?(:call) define_default_method([:klass]) end end |
实例属性详细信息
# default_val ⇒对象
定义文档中已定义字段的行为。 为实例变量设置读取器。
15 16 17 |
# File 'lib/mongoid/fields/standard.rb', line 15 def default_val @default_val end |
#标签⇒对象
定义文档中已定义字段的行为。 为实例变量设置读取器。
15 16 17 |
# File 'lib/mongoid/fields/standard.rb', line 15 def 标签 @label end |
#名称">对象
定义文档中已定义字段的行为。 为实例变量设置读取器。
15 16 17 |
# File 'lib/mongoid/fields/standard.rb', line 15 def 名称 @name end |
# options ⇒对象
定义文档中已定义字段的行为。 为实例变量设置读取器。
15 16 17 |
# File 'lib/mongoid/fields/standard.rb', line 15 def @options end |
实例方法详细信息
# add_atomic_changes (文档, name, key, mods, new, old) ⇒对象
为此类可调整大小的字段添加原子更改。
字段.add_atomic_changes(doc, “key”, {}, [], [])
30 31 32 |
# File 'lib/mongoid/fields/standard.rb', line 30 def add_atomic_changes(文档, 名称, key, mods, new, 旧) mods[key] = new end |
#关联">元数据
如果字段是外键,则获取该字段的元数据。
121 122 123 |
# File 'lib/mongoid/fields/standard.rb', line 121 def 关联 @association ||= [:association] end |
# eval_default (doc) ⇒对象
计算默认值并将其返回。 如有必要,将处理序列化、过程调用和复制。
43 44 45 46 47 48 49 |
# File 'lib/mongoid/fields/standard.rb', line 43 def eval_default(doc) if 字段 = doc.__selected_fields valued_default(doc) if 包括在内?(字段) else valued_default(doc) end end |
# foreign_key? ⇒ true | false
该字段是外键吗?
57 58 59 |
# File 'lib/mongoid/fields/standard.rb', line 57 def foreign_key? false end |
#惰性? ⇒ true | false
该字段是否执行延迟默认评估?
91 92 93 |
# File 'lib/mongoid/fields/standard.rb', line 91 def 懒? false end |
# localize_present? ⇒ true | false
是否存在本地化字段强制值?
111 112 113 |
# File 'lib/mongoid/fields/standard.rb', line 111 def localize_present? false end |
#已本地化? ⇒ true | false
字段是否已本地化?
101 102 103 |
# File 'lib/mongoid/fields/standard.rb', line 101 def 本地化? false end |
# object_id_field? ⇒ true | false
该字段是 BSON::ObjectId 吗?
131 132 133 |
# File 'lib/mongoid/fields/standard.rb', line 131 def object_id_field? @object_id_field ||= (类型 == BSON::ObjectId) end |
# pre_processed? ⇒ true | false
该字段是否会预处理其默认值?
141 142 143 144 |
# File 'lib/mongoid/fields/standard.rb', line 141 def pre_processed? @pre_processed ||= ([:pre_processed] || (default_val && !default_val.is_a?(::Proc))) end |
# type = "Class"
获取此字段的类型 - 从类名推断。
152 153 154 |
# File 'lib/mongoid/fields/standard.rb', line 152 def 类型 @type ||= [:type] || 对象 end |