モジュール: Mongoid::Tlasable::DiscriminatorAssignment Private
- 定義:
- lib/mongoid/trazerable.rb
Overview
このモジュールはプライベート API の一部です。 このモジュールは将来削除または変更される可能性があるため、可能な限り使用しないでください。
さまざまな弁別子_*= メソッドの前に追加するために使用されるモジュール
インスタンス メソッドの概要を折りたたむ
-
# discriminator_key= (値) = オブジェクト
private
弁別子キーを設定します。
-
# _値 = (値) ==========================================string
private
弁別子キーを返します。
インスタンス メソッドの詳細
# discriminator_key= (値) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
弁別子キーを設定します。
134 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 |
# ファイル 'lib/mongoid/traaverable.rb' 行134 デフォルト 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 の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
弁別子キーを返します。
167 168 169 170 171 172 |
# ファイル 'lib/mongoid/traaverable.rb' 行167 デフォルト trigger_value==(価値) 価値 ||= name _mongoid_client_types add_discriminator_mapping(価値) @discriminator_value = 価値 end |