モジュール: Mongoid::Factory
Overview
データベースから取得されたドキュメントをインスタンス化します。
名前空間で定義済み
クラス: インスタンスエーター
インスタンス メソッドの概要を折りたたむ
-
#build(klass, attributes = nil) ⇒ Document
指定された属性から新しい
Documentを構築します。 -
の実行_ビルド( klas 、属性 = nil、オプション = {}) = ドキュメント
private
ビルドを実行します。
-
#execute_from_db (klas、Atlas、Atlas
private
from_db から実行します。
-
#from_db(klass, attributes = nil, criteria = nil, selected_fields = nil) ⇒ Document
データベースから読み込まれた指定された属性から新しい
Documentを構築します。
インスタンス メソッドの詳細
#build(klass, attributes = nil) ⇒ Document
指定された属性から新しいDocumentを構築します。
このメソッドは、属性に klas の弁別子キーが含まれている場合は、klas または klas の子孫をインスタンス化します。
属性に弁別子キー(デフォルトは _type)が含まれ、かつ弁別子の値が klas の子孫に対応していない場合、このメソッドは klas のインスタンスを作成します。
154 155 156 |
# ファイル 'lib/mongoid/factory.rb' 行154 デフォルト 構築(klass, 属性 = nil) execution_Build(klass, 属性) end |
の実行_ビルド( klas 、属性 = nil、オプション = {}) =ドキュメント
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
Ruby 2.x のバグにより、オプション ハッシュがキーワード引数にならないようになります。Ruby 2.x のサポートを削除したら、オプション ハッシュをキーワード引数として再実装できます。https://bugs.ruby-lang.org/issues/15753 を参照してください
ビルドを実行します。
175 176 177 178 179 180 |
# ファイル 'lib/mongoid/factory.rb' 行175 デフォルト execution_Build(klass, 属性 = nil, = {}) 属性 ||= {} dvalue = 属性[klass.弁別子_キー] || 属性[klass.弁別子_キー.to_sym] タイプ = klass.get_discriminator_mapping(dvalue) || klass タイプ.struct_document(属性, ) end |
#execute_from_db ( klas 、Atlas、Atlas
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
from_db から実行します。
230 231 232 233 234 235 |
# ファイル 'lib/mongoid/factory.rb' 行230 デフォルト execute_from_db(klass, 属性 = nil, 条件 = nil, scheduled_fields = nil, execution_colbacks: スレッド.execution_colbacks?) インスタンスエーター.新着情報(klass, 属性, 条件, scheduled_fields) .インスタンス(execution_colbacks: execution_colbacks) end |
#from_db(klass, attributes = nil, criteria = nil, selected_fields = nil) ⇒ Document
データベースから読み込まれた指定された属性から新しいDocumentを構築します。
属性に弁別子キー(デフォルトは _type)が含まれており、 かつ 、弁別子の値が klas の子孫に対応していない場合、このメソッドは UnknownModel エラーを発生させます。
基準オブジェクトが指定された場合、そのオブジェクトは次の 2 つの方法で使用されます。
- 条件に のみ 経由で指定されたフィールドのリストがある場合、返されるドキュメントにはそれらのフィールドのみが入力されます。
- 条件に参照の関連付けがある場合(つまり、このdocumentが別のdocumentの関連付けとしてインスタンス化されている場合)、返されたdocumentの逆の関連付けにも他のdocumentが入力されます(存在する場合)。
208 209 210 |
# ファイル 'lib/mongoid/factory.rb' 行208 デフォルト from_db(klass, 属性 = nil, 条件 = nil, scheduled_fields = nil) execute_from_db(klass, 属性, 条件, scheduled_fields) end |