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

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

Overview

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

定数の概要の削減

VALID_OPTIONS =

この関連付けを定義するときの有効なオプション。

次の値を返します。

  • 配列<Symbol>

    この関連付けを定義するときに許可されたオプション。

%i[
  自動構築
  as
  cacade_colbacks
  循環
  store_as
].freeze

プロキシから継承された定数

プロキシ::KEEP

インスタンス属性の概要

プロキシから継承された属性

#_association, #_base, #_target

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

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

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

#__e ロール

プロキシから継承されたメソッド

apply_ordering#extend_proxies#klas#reset_unloaded#subAtlas

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

#merger_dump#merger_load

コンストラクターの詳細

初期化(ベース、ターゲット、関連付け)=プロキシ

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

例:

新しいプロキシを作成します。

One.new(person, name, association)

パラメーター:



33
34
35
36
37
38
39
40
41
42
# ファイル 'lib/mongoid/関連付け/埋め込み/埋め込み_one/proxy.rb' 行33

デフォルト 初期化(ベース, ターゲット, 関連付け)
  スーパー 行う
    characters_one(_ target)
    bind_one
    characters_one(_ target)
    update_attributes_hash(_ target)
    _base._reset_memoized_descendants.
    _ target.保存 場合 永続的かどうか
  end
end

クラスメソッドの詳細

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

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

パラメーター:

  • 関連付け 配列未満Mongoid >

    早期ロードする関連付け

  • docs 配列未満Mongoid >

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

次の値を返します。



190
191
192
# ファイル 'lib/mongoid/関連付け/埋め込み/埋め込み_one/proxy.rb' 行190

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

埋め込み = true

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

例:

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

Association::Embedded::EmbedsOne.embedded?

次の値を返します。

  • ( true )

    true。



201
202
203
# ファイル 'lib/mongoid/関連付け/埋め込み/埋め込み_one/proxy.rb' 行201

デフォルト 埋め込み
  true
end

パス(ドキュメント) = Mongoid::アトミック::Paths::埋め込み::One

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

例:

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

Proxy.path(document)

パラメーター:

次の値を返します。



214
215
216
# ファイル 'lib/mongoid/関連付け/埋め込み/埋め込み_one/proxy.rb' 行214

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

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

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

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

例:

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

person.name.substitute(new_name)

パラメーター:

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

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

次の値を返します。

  • (Document | nil)

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



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# ファイル 'lib/mongoid/関連付け/埋め込み/埋め込み_one/proxy.rb' 行53

デフォルト replacement(replacement)
  return 自己 場合 replacement == 自己

  場合 _assigning?
    _base.add_アトミック_unset(_ target) ただし、 replacement
  else
    update_ target_when_not_assigning(replacement)
  end

  unbind_one

  return nil 場合 replace_with_nil_document(replacement)

  replace_with(replacement)

  自己
end