クラス: Mongoid::関連付け::埋め込み::埋め込みIn::Proxy

継承:
1 つの
  • オブジェクト
すべて表示
定義:
lib/mongoid/関連付け/ embedded/ embedded_in/proxy.rb

Overview

embedded_in 関連付けの透過的なプロキシ。 このクラスのインスタンスは、子ドキュメントで関連付け getter メソッドを呼び出すときに返されます。 このクラスは Mongoid::関連付け::Proxy から継承し、そのメソッドのほとんどを関連付けのターゲット、つまり親ドキュメントに転送します。

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

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

Oneから継承されたメソッド

#__e ロール

コンストラクターの詳細

#初期化(ベース、ターゲット、関連付け) =========================================================================================================

新しい embedded_in 関連付けをインスタンス化します。

例:

新しい関連付けを作成します。

Association::Embedded::EmbeddedIn.new(person, address, association)

パラメーター:



24
25
26
27
28
29
# ファイル 'lib/mongoid/関連付け/ embedded/ embedded_in/proxy.rb' の場合、行24

デフォルト 初期化(ベース, ターゲット, 関連付け)
  スーパー 行う
    characters_one(_ target)
    bind_one
  end
end

クラスメソッドの詳細

早期_loader (関連付け、 Docs ) = Mongoid::関連付け::埋め込み::Eager

この関連付けの早期ローダーを返します。

パラメーター:

  • 関連付け 配列未満Mongoid >

    早期ロードする関連付け

  • docs 配列未満Mongoid >

    指定された関連付けを持つ親ドキュメントで、早期にロードされたドキュメントを格納する必要があります。

  • use_lookup true | false

    $lookup集計ステージを使用して早期ロードを実行するかどうか。

次の値を返します。



97
98
99
# ファイル 'lib/mongoid/関連付け/ embedded/ embedded_in/proxy.rb' の場合、行97

デフォルト Bearer_loader(関連付け, docs)
  より量.新着情報(関連付け, docs)
end

埋め込み = true

関連付けが埋め込みである場合は true を返します。 この場合は常に true 。

例:

この関連付けは埋め込まれていますか。

Association::Embedded::EmbeddedIn.embedded?

次の値を返します。

  • ( true )

    true。



108
109
110
# ファイル 'lib/mongoid/関連付け/ embedded/ embedded_in/proxy.rb' の場合、行108

デフォルト 埋め込み
  true
end

path (ドキュメント)==ルート

指定されたドキュメントのパス計算子を取得します。

例:

パス 計算子を取得します。

Proxy.path(document)

パラメーター:

次の値を返します。

  • ルート

    ルート アトミック パス 計算子。



120
121
122
# ファイル 'lib/mongoid/関連付け/ embedded/ embedded_in/proxy.rb' の場合、行120

デフォルト path(ドキュメント)
  Mongoid::アトミック::パス::ルート.新着情報(ドキュメント)
end

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

置換(置換)=ドキュメント| nil

関連付け内の既存のドキュメントを、指定されたターゲット ドキュメントに置き換えます。

例:

新しいドキュメントを置き換えます。

person.name.substitute(new_name)

パラメーター:

  • replacement ドキュメント| ハッシュ

    ターゲットを置き換えるドキュメント。

次の値を返します。

  • (Document | nil)

    の関連付けまたは nil は nil です。



40
41
42
43
44
45
46
47
48
49
50
51
# ファイル 'lib/mongoid/関連付け/ embedded/ embedded_in/proxy.rb' の場合、行40

デフォルト replacement(replacement)
  unbind_one
  ただし、 replacement
    _base.削除 場合 永続的かどうか
    return nil
  end
  _base.new_record = true
  replacement = 工場.構築(klass, replacement) 場合 replacement.is_a?(::ハッシュ)
  自己._ target = replacement
  bind_one
  自己
end