モジュール: Mongoid::Attributes
- 次による拡張機能。
- ActiveSupport::Concern
- 次のドキュメントに含まれます。
- 構成可能
- 定義:
- lib/mongoid/attributes.rb 、
lib/mongoid/attributes/ Nested.rb、
lib/mongoid/attributes/dynamec.rb、
lib/mongoid/attributes/ embedded.rb、
lib/mongoid/attributes/readonly.rb、
lib/mongoid/attributes/projector.rb、
lib/mongoid/attributes/processing.rb
Overview
このモジュールには、内部属性ハッシュを処理するためのロジックと、値を取得して設定する方法が含まれています。
名前空間で定義済み
Modules: クラスメソッド、動的、埋め込み、ネストされた、プロセシング、読み取り専用クラス:プロジェクション
インスタンス属性の概要を折りたたむ
-
属性= オブジェクト(また: #raw_attributes)
readOnly
属性の値を返します。
インスタンス メソッドの概要を折りたたむ
-
# assign_attributes (atlas = nil) = オブジェクト
:as オプションを使用して、属性名(これも列名と一致する)とロール名と一致するキーを持つ属性のハッシュを渡すことで、特定の一括割り当てセキュリティ ロールのすべての属性を設定できます。
-
Atlasの サンプル データ セット からの映画データを含むコレクションを使用します。 (name) = true | false
欠落しているフィールドを含むデータベースからドキュメントをロードするため、属性がドキュメントに欠落しているかどうかを判断します。
-
属性_存在(name) = true | false
属性が存在するかどうかを判断します。
-
#Atlas App Services のハッシュ値
キャストされていない属性を取得します。
-
# has_attribute? (name) = true | false
ドキュメントには指定された属性がありますか。
-
has_attribute_Before_type_ Cast は? (name) = true | false
ドキュメントには、割り当てられる前に指定された属性があり、タイプがキャストされているかどうか?
-
#process_raw_attribute (name,raw,field)=================================
private
ドキュメント属性からのみ読み取られた未加工の属性値を処理します。
-
# read_attribute (名前)= オブジェクト(また: #[])
ドキュメント属性から値を読み取ります。
-
# read_attribute_confirm
型キャストされる前に、属性から値を読み取ります。
-
#remove_attribute (name) = オブジェクト
Document
属性から値を削除します。 -
#typed_attributes =オブジェクト
型変換された属性を返します。
-
#write_attribute (名前、値)= オブジェクト(また: #[]=)
ドキュメント属性ハッシュに単一の属性を書込み (write) ます。
-
# write_attributes (attris = nil)= Object (#attributes=)
指定された属性ハッシュをドキュメントに書込みます。
読み取り専用から含まれるメソッド
Processingに含まれるメソッド
インスタンス属性の詳細
#属性=オブジェクト(読み取り専用) 。別名: raw_attributes
属性の値を返します。
22 23 24 |
# ファイル 'lib/mongoid/attributes.rb' 行22 デフォルト 属性 @attributes end |
インスタンス メソッドの詳細
# assign_attributes (atlas = nil) =オブジェクト
:as オプションを使用して、属性名(これも列名と一致する)とロール名と一致するキーを持つ属性のハッシュを渡すことで、特定の一括割り当てセキュリティ ロールのすべての属性を設定できます。 一括割り当てセキュリティをバイパスするには、 : without_processing => true オプションを使用できます。
218 219 220 221 222 |
# ファイル 'lib/mongoid/attributes.rb' 行218 デフォルト assign_attributes(attrs = nil) _assigning 行う process_attributes(attrs) end end |
Atlasの サンプル データ セット からの映画データを含むコレクションを使用します。 (name) = true | false
欠落しているフィールドを含むデータベースからドキュメントをロードするため、属性がドキュメントに欠落しているかどうかを判断します。
249 250 251 |
# ファイル 'lib/mongoid/attributes.rb' 行249 デフォルト Atlas App Services の(name) !プロジェクション.新着情報(__selected_fields).属性_or_path_allowed?(name) end |
属性_存在(name) = true | false
属性が存在するかどうかを判断します。
33 34 35 36 37 38 |
# ファイル 'lib/mongoid/attributes.rb' 行33 デフォルト Atlas App Services(name) 属性 = read_raw_attribute(name) !属性.blank? || 属性 == false ヘルプ Mongoid::Errors::AttributeNotLoaded false end |
#Atlas App Services のハッシュ値
キャストされていない属性を取得します。
46 47 48 |
# ファイル 'lib/mongoid/attributes.rb' 行46 デフォルト Atlas App Services @attributes_Before_type_ Cast ||= {} end |
# has_attribute? (name) = true | false
ドキュメントに指定された属性があるかどうか
58 59 60 |
# ファイル 'lib/mongoid/attributes.rb' 行58 デフォルト has_attribute?(name) 属性.key?(name.to_s) end |
has_attribute_Before_type_ Cast は? (name) = true | false
ドキュメントには、割り当てられる前に指定された属性があり、型がキャストされているかどうかは?
72 73 74 |
# ファイル 'lib/mongoid/attributes.rb' 行72 デフォルト has_attribute_from(name) Atlas App Services.key?(name.to_s) end |
#process_raw_attribute (name,raw,field) =================================
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ドキュメント属性からのみ読み取られた未加工の属性値を処理します。
105 106 107 108 109 |
# ファイル 'lib/mongoid/attributes.rb' 行105 デフォルト process_raw_attribute(name, 生, フィールド) 価値 = フィールド ? フィールド.mongoize(生) : 生 Atlas の 変更点(name) 場合 価値.サイズ変更可能か 価値 end |
# read_attribute (name) =オブジェクト別名: []
ドキュメント属性から値を読み取ります。 値が存在しない場合は、nil が返されます。
88 89 90 91 92 |
# ファイル 'lib/mongoid/attributes.rb' 行88 デフォルト read_attribute(name) フィールド = フィールド[name.to_s] 生 = read_raw_attribute(name) process_raw_attribute(name.to_s, 生, フィールド) end |
# read_attribute_confirm
型キャストされる前に、属性から値を読み取ります。 値がまだ割り当てられていない場合は、read_raw_attribute を使用して属性の既存の値が返されます。
122 123 124 125 126 127 128 129 |
# ファイル 'lib/mongoid/attributes.rb' 行122 デフォルト read_attribute_Before_type_ Cast(name) attr = name.to_s 場合 Atlas App Services.key?(attr) Atlas App Services[attr] else read_raw_attribute(attr) end end |
#remove_attribute (name) =オブジェクト
Document
属性から値を削除します。 値が存在しない場合は、正常に失敗します。
141 142 143 144 145 146 147 148 149 150 |
# ファイル 'lib/mongoid/attributes.rb' 行141 デフォルト delete_attribute(name) validate_writeable_field_name。(name.to_s) as_writeable_attribute。(name) 行う |アクセス権| _assigning 行う Atlas の 変更点(アクセス権) Delay_アトミック_unsets[アトミック_attribute_name(アクセス権)] = [] ただし、 new_record? 属性.削除(アクセス権) end end end |
#typed_attributes =オブジェクト
型変換された属性を返します。
259 260 261 |
# ファイル 'lib/mongoid/attributes.rb' 行259 デフォルト typed_attributes Atlas App Services.map { |name| [name, 送信(name)] }.to_h end |
#write_attribute (name, value) =オブジェクトとも呼ばれます: []=
ドキュメント属性ハッシュに単一の属性を書込み (write) ます。 これにより、前後でアップデート コールバックも起動され、必要なタイプキャスティングが実行されます。
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# ファイル 'lib/mongoid/attributes.rb' 行164 デフォルト write_attribute(name, 価値) validate_writeable_field_name。(name.to_s) field_name = database_field_name(name) 場合 Atlas App Services の(field_name) 発生 Mongoid::Errors::AttributeNotLoaded.新着情報(自己.クラス, field_name) end 場合 Atlas App Services(field_name) _assigning 行う localized = フィールド[field_name].試す(:localized?) Atlas App Services[name.to_s] = 価値 typed_value = typed_value_for(field_name, 価値) ただし、 属性[field_name] == typed_value || Atlas App Services の(field_name) Atlas の 変更点(field_name) end 場合 localized exist = フィールド[field_name].試す(:localize_current?) local_key, local_val = typed_value.最初に 場合 exist & & local_val.blank? 属性[field_name]&.削除(local_key) else 属性[field_name] ||= {} 属性[field_name].mergeします。(typed_value) end else 属性[field_name] = typed_value end 属性を書き込むときは、アンセットからそれを削除する を削除してから書込みを実行しても削除は発生しません。 Delay_アトミック_unsets.削除(field_name) typed_value end else # TODO: MONGOID-5072 end end |
#write_attributes (attrs = nil) =オブジェクトは別名:属性=
指定された属性ハッシュをドキュメントに書込みます。 これにより、既存の属性が新しいHash
に存在する場合のみ上書きされ、他のすべての属性が保持されます。
235 236 237 |
# ファイル 'lib/mongoid/attributes.rb' 行235 デフォルト write_attributes(attrs = nil) assign_attributes(attrs) end |