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

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

Overview

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

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

多く1 つ

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

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

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

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

#merger_dump#merger_load

インスタンス属性の詳細

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

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



30
31
32
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行30

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

# _base =オブジェクト

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

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



28
29
30
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行28

デフォルト _base
  @_base
end

# _ target =オブジェクト

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

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



37
38
39
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行37

デフォルト _ target
  @_ target
end

クラスメソッドの詳細

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

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

例:

順序を適用します。

Proxy.apply_ordering(criteria, association)

パラメーター:

  • 条件 基準

    変更する基準。

  • 関連付け 関連付け

    関連付けメタデータ。

次の値を返します。

  • 基準

    順序付けられた基準。



194
195
196
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行194

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

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

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

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



60
61
62
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行60

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

# init (ベース、ターゲット、関連付け){{|_private|] ... } =オブジェクト

すべてのプロキシがこれを行う必要があるため、ターゲットと関連付けメタデータのプロパティを設定する際に便利です。

例:

プロキシを初期化します。

proxy.init(person, name, association)

パラメーター:

  • ベース ドキュメント

    プロキシ上の 基本ドキュメント 。

  • ターゲット (Document | Array<Document>)

    プロキシのターゲット。

  • 関連付け 関連付け

    関連付けメタデータ。

結果:

  • _自分

生成パラメータ:



53
54
55
56
57
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行53

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

#klassClass

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

例:

クラスを取得します。

proxy.klass

次の値を返します。

  • クラス

    関連付けクラス。



70
71
72
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行70

デフォルト klass
  _関連付け ? _関連付け.klass : nil
end

#reset_unloaded =オブジェクト

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

例:

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

person.preferences.reset_relation_criteria


79
80
81
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行79

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

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

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

例:

置換可能を取得します。

proxy.substitutable

次の値を返します。

  • オブジェクト

    ターゲットのクローン。



90
91
92
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/proxy.rb', 行90

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