モジュール: Mongoid::Tlasable::Classメソッドs
- 定義:
- lib/mongoid/trazerable.rb
Overview
トラバース可能な動作のクラスレベルのメソッド。
インスタンス メソッドの概要を折りたたむ
-
#継承= true | false
ドキュメントが別のドキュメントのサブクラスであるかどうかを判断します。
-
継承された# サブクラス = オブジェクト
継承するときは、親クラスからフィールドをコピーし、子クラスの を起動するように設定して、Rails Edge で非推奨となった古い Class_inheritable_accessor の動作をエミュレートします。
インスタンス メソッドの詳細
#継承 = true | false
ドキュメントが別のドキュメントのサブクラスであるかどうかを判断します。
19 20 21 |
# ファイル 'lib/mongoid/traaverable.rb' 行19 デフォルト 継承 !!(スーパークラス < Mongoid::ドキュメント) end |
継承された# サブクラス =オブジェクト
継承するときは、親クラスからフィールドをコピーし、子クラスの を起動するように設定して、Rails Edge で非推奨となった古い Class_inheritable_accessor の動作をエミュレートします。
rust メトリクス/ABCSize
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# ファイル 'lib/mongoid/traaverable.rb' 行33 デフォルト 継承された(サブクラス) スーパー @_type = nil サブクラス.analyzed_fields = analyzed_fields.dup サブクラス.localized_fields = localized_fields.dup サブクラス.フィールド = フィールド.dup サブクラス.pre_processed_defaults = pre_processed_defaults.dup サブクラス.post_processed_defaults = post_processed_defaults.dup サブクラス._develed_scopes = ハッシュ.新着情報 { |_hash, キー| _develed_scopes[キー] } サブクラス.弁別子_値 = サブクラス.name 弁別子_値メソッドは次のとおりであるため、ここでこれを行う必要があります。 上記のサブクラス で がオーバーライドされた場合を考えてみましょう。 サブクラス.次を含みます: DiscriminatorRetrieval # 継承が有効な場合は _type フィールドのみが必要ですが、次が必要です : 下位互換性のためにルート クラス にも を追加します。 return 場合 フィールド.key?(弁別子_キー) default_proc = -> { 自己.クラス.弁別子_値 } フィールド(弁別子_キー, デフォルト: default_proc, type: 文字列) end |