クラス: Mongoid::PeristanceContext
- 継承:
-
オブジェクト
- オブジェクト
- Mongoid::PeristanceContext
- 次による拡張機能。
- 転送可能
- 定義:
- lib/mongoid/persistance_context.rb
Overview
コレクションとデータベース名、およびモデルを永続化するときに使用する特定のオプションを持つクライアントを設定/取得するためのオブジェクト カプセル化ロジック。
定数の概要の削減
- EXTRA_OPTIONS =
永続性コンテキストを決定するドライバー クライアント オプションに加えて、追加のオプション。
[ :client, :collection ].freeze
- VALID_OPTIONS =
有効な永続化コンテキスト オプションの完全なリスト。
( mongo::クライアント::VALID_OPTIONS + EXTRA_OPTIONS ).freeze
インスタンス属性の概要を折りたたむ
-
#options ⇒ Hash
readOnly
この永続化コンテキストを定義するオプション。
クラスメソッドの概要を折りたたむ
-
。 clear (オブジェクト、クラスター = nil、 old_context = nil) = オブジェクト
特定のクラスまたはモデル インスタンスの永続化コンテキストをクリアします。
-
。 get (オブジェクト) → Mongoid::PeristanceContext
特定のクラスまたはモデル インスタンスの永続化コンテキストを取得します。
-
。 set (オブジェクト、オプション_or_context)= Mongoid::PeristanceContext
特定のクラスまたはモデル インスタンスの永続化コンテキストを設定します。
インスタンス メソッドの概要を折りたたむ
-
# == (その他) ==(その他) ========= ================================================================== false
この永続化コンテキストが別の永続化コンテキストと等しいかどうかを判断します。
-
クライアント= Mongo::Client
この永続化コンテキストのクライアントを取得します。
-
#client_name ⇒ Symbol
この永続化コンテキストのクライアント名を取得します。
-
コレクション(親 = nil)= Mongo::Collection
この永続化コンテキストのコレクションを取得します。
-
# collection_name = string
この永続化コンテキストのコレクション名を取得します。
-
# database_name = string
この永続コンテキストのデータベース名を取得します。
-
#for_field (ドキュメント)=PersistanceContext
private
指定された子ドキュメントと整合性のある新しい永続化コンテキストを返し、最も適切な設定を継承します。
-
#初期化(オブジェクト、ops = {}) = PersistanceContext
コンストラクター
永続性コンテキスト オブジェクトを初期化します。
-
= requested_storage_options = ハッシュ | ハッシュnil
private
ストレージ オプションとして使用可能な、提供されたオプションのサブセット。
-
#reusable_client = true | false
private
コンテキストのクライアントを後で再利用することができ、したがって閉じないでください。
コンストラクターの詳細
#初期化(オブジェクト、ops = {}) = PersistanceContext
永続性コンテキスト オブジェクトを初期化します。
45 46 47 48 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 45行 デフォルト 初期化(オブジェクト, ops = {}) @object = オブジェクト (ops) end |
インスタンス属性の詳細
オプション=ハッシュ(読み取り専用)
この永続化コンテキストを定義するオプション。
20 21 22 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 20行 デフォルト @options end |
クラスメソッドの詳細
。 clear (オブジェクト、クラスター = nil、 old_context = nil) =オブジェクト
特定のクラスまたはモデル インスタンスの永続化コンテキストをクリアします。
267 268 269 270 271 272 273 274 275 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 267行 デフォルト クリア(オブジェクト, クラスター = nil, initial_context = nil) 場合 context = 得る(オブジェクト) ただし、 クラスター.nil? || context.クラスター.と等しいか(クラスター) context.クライアント.閉じる ただし、 context.reusable_client? end end 保証する store_context(オブジェクト, initial_context) end |
。 get (オブジェクト) → Mongoid::PeristanceContext
特定のクラスまたはモデル インスタンスの永続化コンテキストを取得します。
254 255 256 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 254行 デフォルト 得る(オブジェクト) get_context(オブジェクト) end |
。 set (オブジェクト、オプション_or_context) = Mongoid::PeristanceContext
特定のクラスまたはモデル インスタンスの永続化コンテキストを設定します。
永続性コンテキストセットがすでに存在する場合は、既存のコンテキスト内のオプションは、セット呼び出しに指定されたオプションと組み合わされます。
231 232 233 234 235 236 237 238 239 240 241 242 243 244 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 231行 デフォルト セット(オブジェクト, ) exist_context = get_context(オブジェクト) = 場合 exist_context exist_context. else {} end 場合 .is_a?(PersistanceContext) = . end = .merge() context = PersistanceContext.新着情報(オブジェクト, ) store_context(オブジェクト, context) end |
インスタンス メソッドの詳細
# == (その他) ==(その他) ========= ================================================================== false
この永続化コンテキストが別の永続化コンテキストと等しいかどうかを判断します。
150 151 152 153 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 150行 デフォルト ==(その他) return false ただし、 その他.is_a?(PersistanceContext) == その他. end |
クライアント= Mongo::Client
この永続化コンテキストのクライアントを取得します。
116 117 118 119 120 121 122 123 124 125 126 127 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 116行 デフォルト クライアント @client ||= begin クライアント = クライアント.with_name(client_name) 場合 database_name_option クライアント = クライアント.使用(database_name) end ただし、 .空の場合 クライアント = クライアント.と共に() end クライアント end end |
#client_name ⇒ Symbol
この永続化コンテキストのクライアント名を取得します。
136 137 138 139 140 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 136行 デフォルト client_name @client_name ||= [:client] || スレッド.client_ overwrite || __evaluate__([:client]) end |
コレクション(親 = nil)= Mongo::Collection
この永続化コンテキストのコレクションを取得します。
80 81 82 83 84 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 80行 デフォルト コレクション(親 = nil) 親 ? 親.コレクション.と共に(.次の項目を除く(:database, "データベース")) : クライアント[collection_name.to_sym] end |
# collection_name = string
この永続化コンテキストのコレクション名を取得します。
93 94 95 96 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 93行 デフォルト collection_name @collection_name ||= (__evaluate__([:collection] || [:collection])) end |
# database_name = string
この永続コンテキストのデータベース名を取得します。
105 106 107 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 105行 デフォルト database_name __evaluate__(database_name_option) || クライアント.database.name end |
#for_field (ドキュメント)= PersistanceContext
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
指定された子ドキュメントと整合性のある新しい永続化コンテキストを返し、最も適切な設定を継承します。
58 59 60 61 62 63 64 65 66 67 68 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 58行 デフォルト for_field(ドキュメント) 場合 ドキュメント.is_a?(クラス) return 自己 場合 ドキュメント == (@object.is_a?(クラス) ? @object : @object.クラス) elsif ドキュメント.is_a?(Mongoid::ドキュメント) return 自己 場合 ドキュメント.クラス == (@object.is_a?(クラス) ? @object : @object.クラス) else 発生 ArgumentError, クラスまたはドキュメント インスタンスを指定する必要があり ます 。 end PersistanceContext.新着情報(ドキュメント, .merge(ドキュメント.)) end |
= requested_storage_options =ハッシュ | ハッシュnil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ストレージ オプションとして使用可能な、提供されたオプションのサブセット。
177 178 179 180 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 177行 デフォルト スライス = @options.スライス(*Mongoid::クライアント::バリデーター::ストレージ::VALID_OPTIONS) スライス.any? ? スライス : nil end |
#reusable_client = true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
コンテキストのクライアントを後で再利用することができ、したがって閉じないでください。
永続性コンテキストが :client オプションのみで要求されている場合、コンテキストは mongoid.yml で構成されたクライアントを使用する必要があります。 このようなクライアントは後で再利用されるため、コンテキストがクリアされるときに閉じないでください。
166 167 168 |
# ファイル 'lib/mongoid/永続性_context.rb' は、 166行 デフォルト reusable_client? @options.キー == [:client] end |