クラス: Mongoid::PeristanceContext

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
定義:
build/mongoid- 8.1 /lib/mongoid/永続性_context.rb

Overview

コレクションとデータベース名、およびモデルを永続化するときに使用する特定のオプションを持つクライアントを設定/取得するためのオブジェクト カプセル化ロジック。

定数の概要の削減

EXTRA_OPTIONS =

永続性コンテキストを決定するドライバー クライアント オプションに加えて、追加のオプション。

次の値を返します。

  • 配列<Symbol>

    永続性コンテキストを決定するクライアント オプション以外の追加オプションのリスト。

[ :client,
  :collection
].freeze
VALID_OPTIONS =

有効な永続化コンテキスト オプションの完全なリスト。

次の値を返します。

  • 配列<Symbol>

    永続化コンテキストを定義するオプションの完全なリスト。

( mongo::クライアント::VALID_OPTIONS + EXTRA_OPTIONS ).freeze

インスタンス属性の概要を折りたたむ

クラスメソッドの概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#初期化(オブジェクト、ops = {}) = PersistanceContext

永続性コンテキスト オブジェクトを初期化します。

例:

新しい永続化コンテキストを作成します。

PersistenceContext.new(model, collection: 'other')

パラメーター:

  • オブジェクト オブジェクト

    永続化コンテキストを作成するクラスまたはモデル インスタンス。

  • ops ハッシュ (デフォルトは{}です)

    永続化コンテキスト オプション。



44
45
46
47
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行44

デフォルト 初期化(オブジェクト, ops = {})
  @object = オブジェクト
  set_options!(ops)
end

インスタンス属性の詳細

オプション=ハッシュ(読み取り専用)

この永続化コンテキストを定義するオプション。

次の値を返します。

  • ハッシュ

    永続化コンテキスト オプション。



19
20
21
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行19

デフォルト options
  @options
end

クラスメソッドの詳細

clear (オブジェクト、クラスター = nil、 old_context = nil) =オブジェクト

特定のクラスまたはモデル インスタンスの永続化コンテキストをクリアします。

例:

クラスまたはモデル インスタンスの永続化コンテキストをクリアします。

PersistenceContext.clear(model)

パラメーター:

  • オブジェクト クラス | オブジェクト

    クラスまたはモデル インスタンス。

  • クラスター Mongo::Cluster (デフォルトはnil

    このコンテキストが使用される前の元のクラスター。

  • initial_context Mongoid::PerstanceContext (デフォルトはnil

    このコンテキストが使用される前に設定された元の永続化コンテキスト。



227
228
229
230
231
232
233
234
235
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行227

デフォルト クリア(オブジェクト, クラスター = nil, initial_context = nil)
  場合 context = 得る(オブジェクト)
    ただし、 クラスター.nil? || context.クラスター.と等しいか(クラスター)
      context.クライアント.閉じる ただし、 context.reusable_client?
    end
  end
保証する
  store_context(オブジェクト, initial_context)
end

get (オブジェクト) → Mongoid::PeristanceContext

特定のクラスまたはモデル インスタンスの永続化コンテキストを取得します。

例:

クラスまたはモデル インスタンスの永続化コンテキストを取得します。

PersistenceContext.get(model)

パラメーター:

  • オブジェクト オブジェクト

    クラスまたはモデル インスタンス。

次の値を返します。



214
215
216
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行214

デフォルト 得る(オブジェクト)
  get_context(オブジェクト)
end

set (オブジェクト、オプション_or_context) = Mongoid::PeristanceContext

特定のクラスまたはモデル インスタンスの永続化コンテキストを設定します。

永続性コンテキストセットがすでに存在する場合は、既存のコンテキスト内のオプションは、セット呼び出しに指定されたオプションと組み合わされます。

例:

クラスまたはモデル インスタンスの永続化コンテキストを設定します。

PersistenceContext.set(model)

パラメーター:

  • オブジェクト オブジェクト

    クラスまたはモデル インスタンス。

  • options_or_context ハッシュ | Mongoid ::PerformanceContext

    永続性オプションまたは 永続性コンテキスト オブジェクト。

次の値を返します。



191
192
193
194
195
196
197
198
199
200
201
202
203
204
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行191

デフォルト セット(オブジェクト, options_or_context)
  exist_context = get_context(オブジェクト)
  exist_options = 場合 exist_context
    exist_context.options
  else
    {}
  end
  場合 options_or_context.is_a?(PersistanceContext)
    options_or_context = options_or_context.options
  end
  new_options = exist_options.merge(options_or_context)
  context = PersistanceContext.新着情報(オブジェクト, new_options)
  store_context(オブジェクト, context)
end

インスタンス メソッドの詳細

# == (その他) ==(その他) ========= ================================================================== false

この永続化コンテキストが別の永続化コンテキストと等しいかどうかを判断します。

例:

2 つの永続性コンテキストを比較します。

context == other_context

パラメーター:

  • その他 オブジェクト

    このオブジェクトと比較されるオブジェクト。

次の値を返します。

  • true | false

    2 つの永続化コンテキストが等しいかどうか。



122
123
124
125
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行122

デフォルト ==(その他)
  return false ただし、 その他.is_a?(PersistanceContext)
  options == その他.options
end

クライアント= Mongo::Client

この永続化コンテキストのクライアントを取得します。

例:

この永続化コンテキストのクライアントを取得します。

context.client

次の値を返します。

  • Mongo::Client

    この永続化コンテキストのクライアント。



95
96
97
98
99
100
101
102
103
104
105
106
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行95

デフォルト クライアント
  @client ||= begin
    クライアント = クライアント.with_name(client_name)
    場合 database_name_option
      クライアント = クライアント.使用(database_name)
    end
    ただし、 client_options.空の場合
      クライアント = クライアント.と共に(client_options)
    end
    クライアント
  end
end

# client_name =オブジェクト



108
109
110
111
112
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行108

デフォルト client_name
  @client_name ||= options[:client] ||
                     スレッド.client_ overwrite ||
                     storage_options & & __evaluate__(storage_options[:client])
end

コレクション(親 = nil)= Mongo::Collection

この永続化コンテキストのコレクションを取得します。

例:

この永続化コンテキストのコレクションを取得します。

context.collection

パラメーター:

  • オブジェクト (デフォルトはnil

    この永続化コンテキストのコレクション名の代わりにコレクション名が使用される親オブジェクト。

次の値を返します。

  • Mongo::Collection

    この永続化コンテキストの コレクション。



59
60
61
62
63
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行59

デフォルト コレクション( = nil)
   ?
    .コレクション.と共に(client_options.次の項目を除く(:database, "データベース")) :
    クライアント[collection_name.to_sym]
end

# collection_name = string

この永続化コンテキストのコレクション名を取得します。

例:

この永続化コンテキストのコレクション名を取得します。

context.collection_name

次の値を返します。

  • ( string )

    この永続コンテキストのコレクション名。



72
73
74
75
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行72

デフォルト collection_name
  @collection_name ||= (__evaluate__(options[:collection] ||
                         storage_options[:collection]))
end

# database_name = string

この永続コンテキストのデータベース名を取得します。

例:

この永続コンテキストのデータベース名を取得します。

context.database_name

次の値を返します。

  • ( string )

    この永続コンテキストのデータベース名。



84
85
86
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行84

デフォルト database_name
  __evaluate__(database_name_option) || クライアント.database.name
end

#reusable_client = true | false

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

コンテキストのクライアントを後で再利用することができ、したがって閉じないでください。

永続性コンテキストが :client オプションのみで要求されている場合、コンテキストは mongoid.yml で構成されたクライアントを使用する必要があります。 このようなクライアントは後で再利用されるため、コンテキストがクリアされるときに閉じないでください。

次の値を返します。

  • true | false

    クライアントを再利用できる場合は true、それ以外の場合は false です。



138
139
140
ファイル 'Build/mongoid- 8.1 /lib/mongoid/persistency_context.rb ', 行138

デフォルト reusable_client?
  @options.キー == [:client]
end