モジュール: Mongoid::Tlasable::DiscriminatorAssignment Private
- 定義:
- lib/mongoid/trazerable.rb
Overview
このモジュールはプライベート API の一部です。 このモジュールは将来削除または変更される可能性があるため、可能な限り使用しないでください。
さまざまな弁別子_*= メソッドの前に追加するために使用されるモジュール
インスタンス メソッドの概要を折りたたむ
-
# discriminator_key= (値) = オブジェクト
private
弁別子キーを設定します。
-
# _値 = (値) ==========================================string
private
弁別子キーを返します。
インスタンス メソッドの詳細
# discriminator_key= (値) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
弁別子キーを設定します。
rust メトリクス/ABCSize
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# ファイル 'lib/mongoid/traaverable.rb' 行135 デフォルト trigger_key=(価値) 発生 Errors::InvalidDiscriminatorKeyTarget.新着情報(自己, スーパークラス) 場合 継承 _mongoid_client_types 場合 価値 Mongoid::フィールド::バリデーター::Macro.validate_field_name(自己, 価値) 価値 = 価値.to_s ::Mongoid::Traversable.__redefine(自己, '弁別子_キー ', 価値) else # 弁別子キーが nil に設定されている場合、クラスの定義を置き換えます 弁別子キー リーダーの数(以前は Class_attribute によって提供された) # を使用して Mongoid に再委任します。 クラス < 自己 委任 :discriminator_key, から: ::Mongoid end end # この条件は、新しい弁別子キーが上書きするかどうかを確認します 既存のフィールド 。 # この条件では、クラスに子孫があるかどうかもチェックされます。次の条件があります: # ない場合は、弁別子キーは必要ありません。 return 場合 フィールド.key?(弁別子_キー) || descendants.空の場合 default_proc = -> { 自己.クラス.弁別子_値 } フィールド(弁別子_キー, デフォルト: default_proc, type: 文字列) end |
# _値 = (値) ============================================string
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
弁別子キーを返します。
169 170 171 172 173 174 |
# ファイル 'lib/mongoid/traaverable.rb' 行169 デフォルト trigger_value==(価値) 価値 ||= name _mongoid_client_types add_discriminator_mapping(価値) @discriminator_value = 価値 end |