クラス: Mongoid::関連付け::Proxy

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
マーシャリング可能スレッド::ライフサイクル
定義:
lib/mongoid/関連付け/proxy.rb

Overview

このクラスは、すべての関連付けプロキシ オブジェクトのスーパークラスであり、すべてに共通の動作を含みます。

既知のサブクラスを直接確認

多く1 つ

定数の概要の削減

KEPER_METHODS =

が未定義になるのを防ぐ具体的なメソッド

%i[
  送信
  object_id
  と等しいか
  respond_to?
  response_to_Missing?
  タップ
  public_send
  exhaust_proxy
  exhaust_proxis
].freeze

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

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

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

マーシャリング可能なに含まれるメソッド

#merger_dump#merger_load

コンストラクターの詳細

#初期化(ベース、ターゲット、関連付け){{|_private| ... } =プロキシ

ターゲットと関連付けメタデータのプロパティを設定します。

パラメーター:

結果:

  • _自分

生成パラメータ:



60
61
62
63
64
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 60行

デフォルト 初期化(ベース, ターゲット, 関連付け)
  @_base, @_ target, @_関連付け = ベース, ターゲット, 関連付け
  ノードの数(自己) 場合 ブロック_指定
  exhaust_proxis(関連付け.拡張機能) 場合 関連付け.拡張機能
end

インスタンス属性の詳細

# _関連付け =オブジェクト

属性_関連付けの値を返します。



41
42
43
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 41行

デフォルト _関連付け
  @_関連付け
end

# _base =オブジェクト

関連付けの基となるモデル インスタンス。

たとえば、Post が_many コメントを埋め込む場合、_base は Post モデルの特定のインスタンスになります。



39
40
41
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 39行

デフォルト _base
  @_base
end

# _ target =オブジェクト

関連付けのターゲットの、1 対 1 の関連付けのモデルインスタンス、または 1 対多の関連付けのモデルインスタンスの配列。

たとえば、書き込みが_多数のコメントを埋め込む場合、 _target は特定の書き込みに埋め込まれたコメント モデルの配列になります。



48
49
50
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 48行

デフォルト _ target
  @_ target
end

クラスメソッドの詳細

apply_ordering (基準、関連付け)==基準

関連付けで基準が定義されている場合は、順序付けを適用します。

例:

順序を適用します。

Proxy.apply_ordering(criteria, association)

パラメーター:

次の値を返します。

  • 基準

    順序付けられた基準。



206
207
208
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 206行

デフォルト apply_ordering(条件, 関連付け)
  関連付け.ordered ? 条件.order_by(関連付け.ordered) : 条件
end

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

# Extended_proxis (* 拡張機能) =オブジェクト

拡張機能が配列であり、各モジュールを拡張できるようにする



67
68
69
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 67行

デフォルト exhaust_proxis(*拡張機能)
  拡張機能.平面. { |ext| exhaust_proxy(ext) }
end

#klassClass

関連付けから クラスを取得します。関連付けが存在しない場合は nil を返します。

例:

クラスを取得します。

proxy.klass

次の値を返します。

  • クラス

    関連付けクラス。



77
78
79
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 77行

デフォルト klass
  _関連付け&.klass
end

#reset_unloaded =オブジェクト

関連付けプロキシ内の基準をリセットします。 基礎となる ID 配列を同期させるために多対多の関連付けで使用されます。

例:

関連付け基準をリセットします。

person.preferences.reset_relation_criteria


86
87
88
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 86行

デフォルト delete_unloaded
  _ target.delete_unloaded(条件)
end

#置換可能 詳しくは、オブジェクト

関連付けプロキシのデフォルトの置換可能なオブジェクトは、ターゲットのクローンです。

例:

置換可能を取得します。

proxy.substitutable

次の値を返します。

  • オブジェクト

    ターゲットのクローン。



97
98
99
# ファイル 'lib/mongoid/as associated/proxy.rb' は、 97行

デフォルト 置換可能
  _ target
end