モジュール: Mongoid::Tlasable::DiscriminatorAssignment Private

定義:
lib/mongoid/trazerable.rb

Overview

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

さまざまな弁別子_*= メソッドの前に追加するために使用されるモジュール

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

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

# discriminator_key= (値) =オブジェクト

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

弁別子キーを設定します。

rust メトリクス/ABCSize

パラメーター:

  • 価値 ( string )

    設定する弁別子キー。

次の値が発生します。



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# ファイル 'lib/mongoid/traaverable.rb' 行95

デフォルト trigger_key=(価値)
  発生 Errors::InvalidDiscriminatorKeyTarget.新着情報(自己, スーパークラス) 場合 継承

  _mongoid_client_types

  場合 価値
    Mongoid::フィールド::バリデーター::Macro.validate_field_name(自己, 価値)
    価値 = 価値.to_s
    スーパー
  else
    # 弁別子キーが nil に設定されている場合、クラスの定義を置き換えます
    弁別子キー リーダーの数(以前は Class_attribute によって提供された)
    # を使用して Mongoid に再委任します。
    クラス < 自己
      委任 :discriminator_key, から: ::Mongoid
    end
  end

  # この条件は、新しい弁別子キーが上書きするかどうかを確認します
  既存のフィールド 。
  # この条件では、クラスに子孫があるかどうかもチェックされます。次の条件があります:
  # ない場合は、弁別子キーは必要ありません。
  return ただし、 !フィールド.key?(弁別子_キー) & & !descendants.空の場合

  default_proc = -> { 自己.クラス.弁別子_値 }
  フィールド(弁別子_キー, デフォルト:  default_proc, type: 文字列)
end

# _値 = (値) ============================================string

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

弁別子キーを返します。

次の値を返します。

  • ( string )

    弁別子キー。



129
130
131
132
133
134
# ファイル 'lib/mongoid/traaverable.rb' 行129

デフォルト trigger_value==(価値)
  価値 ||= name
  _mongoid_client_types
  add_discriminator_mapping(価値)
  @discriminator_value = 価値
end