モジュール: Mongoid::Attributes::Dyname
- 次による拡張機能。
- ActiveSupport::Concern
- 定義:
- build/mongoid- 8.1 /lib/mongoid/attributes/dynamec.rb
Overview
このモジュールには、動的属性の動作が含まれています。
インスタンス メソッドの概要を折りたたむ
-
#defined_dy値_Before_type_ Cast_reader (name) = オブジェクト
private
型キャストされる前に、動的属性のリーダー メソッドを定義します。
-
#defined_dynamic_reader (name) = オブジェクト
private
動的属性のリーダー メソッドを定義します。
-
#defined_dynamic_writer (name) = オブジェクト
private
動的属性のライター メソッドを定義します。
-
analyze_dysync_fields = string
ドキュメントの検査された動的フィールドの配列を取得します。
-
#メソッド_欠落(name, *args) = オブジェクト
private
動的属性のアクセス メソッドを許可するために使用されます。
-
# Process_attribute (name, 値) = オブジェクト
属性が動的である場合は、オブジェクトタイプを持つそのフィールドを追加し、値を設定します。
-
response_to? (name, include_private = false) = true | false
response_to を上書きしますか 動的属性に適切に応答します。
動的メソッド処理
このクラスはメソッド_欠落メソッドを通じて動的メソッドを処理します
#メソッド_欠落(name, *args) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
動的属性のアクセス メソッドを許可するために使用されます。
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/attributes/dynamec.rb ', 行121 デフォルト メソッド_欠落(name, *args) attr = name.to_s return スーパー ただし、 属性.has_keys_keys(attr.リーダー) 場合 attr.ライター getter = attr.リーダー 定義_動的_ライター(getter) write_attribute(getter, args.最初に) elsif attr.以前_type_ Cast? 定義_動的_事前_タイプ_キャスト_読み取り(attr.リーダー) Atlas の 変更点(attr.リーダー) read_attribute_Before_type_ Cast(attr.リーダー) else getter = attr.リーダー 定義_動的_読み取り(getter) Atlas の 変更点(attr.リーダー) read_raw_attribute(getter) end end |
インスタンス メソッドの詳細
#defined_dy値_Before_type_ Cast_reader (name) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
型キャストされる前に、動的属性のリーダー メソッドを定義します。
53 54 55 56 57 58 59 60 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/attributes/dynamec.rb ', 行53 デフォルト 定義_動的_事前_タイプ_キャスト_読み取り(name) Class_eval 行う refine_method(" #{ name } _Before_type_ Cast ") 行う Atlas の 変更点(name) read_attribute_Before_type_ Cast(name) end end end |
#defined_dynamic_reader (name) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
動的属性のリーダー メソッドを定義します。
34 35 36 37 38 39 40 41 42 43 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/attributes/dynamec.rb ', 行34 デフォルト 定義_動的_読み取り(name) return ただし、 name.valid_method_name? Class_eval 行う refine_method(name) 行う Atlas の 変更点(name) read_raw_attribute(name) end end end |
#defined_dynamic_writer (name) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
動的属性のライター メソッドを定義します。
70 71 72 73 74 75 76 77 78 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/attributes/dynamec.rb ', 行70 デフォルト 定義_動的_ライター(name) return ただし、 name.valid_method_name? Class_eval 行う refine_method(" #{ name } = ") 行う |価値| write_attribute(name, 価値) end end end |
analyze_dysync_fields = string
ドキュメントの検査された動的フィールドの配列を取得します。
103 104 105 106 107 108 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/attributes/dynamec.rb ', 行103 デフォルト explain_dying_fields キー = 属性.キー - フィールド.キー - 関係.キー - [" _id ", 自己.クラス.弁別子_キー] return キー.map 行う |name| " #{ { name } } : # { { Atlas App Services の end end |
# Process_attribute (name, 値) =オブジェクト
属性が動的である場合は、オブジェクトタイプを持つそのフィールドを追加し、値を設定します。
88 89 90 91 92 93 94 95 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/attributes/dynamec.rb ', 行88 デフォルト process_attribute(name, 価値) 応答します = respond_to?(" #{ name } = ") 場合 !応答します write_attribute(name, 価値) else 送信(" #{ name } = ", 価値) end end |
response_to? (name, include_private = false) = true | false
response_to を上書きしますか 動的属性に適切に応答します。
19 20 21 22 23 24 |
ファイル 'Build/mongoid- 8.1 /lib/mongoid/attributes/dynamec.rb ', 行19 デフォルト respond_to?(name, include_private = false) スーパー || ( 属性 & & 属性.has_keys_keys(name.to_s.リーダー) ) end |