モジュール: Mongoid::changeable
Overview
ダーティ追跡の動作を定義します。
名前空間で定義済み
インスタンス メソッドの概要を折りたたむ
-
#属性_Before_last_save (attri) = オブジェクト
最後に保存する前の属性の元の値を返します。
-
変更された番号 = 配列 <String>
ドキュメントの変更された属性を取得します。
-
変更された番号= true | false
ドキュメントは変更されましたか。
-
#changed_attributes ~ハッシュ=string, Object=
属性の変更を取得します。
-
変更を許可しstring 。] の変更。
ドキュメントのすべての変更を取得します。
-
の変更は行わないでください。 = true | false
このドキュメントの子(埋め込みドキュメント)が変更されたかどうか。
-
#子_may_hade_changed! を使用します。 = オブジェクト
private
このドキュメントの子が変更された可能性があり、ドキュメントが検証されるときにチェックする必要があることを示します。
-
move_changes =オブジェクト
保存後にこのメソッドを呼び出すと、変更を適切に切り替えることができます。
-
# post_persist =オブジェクト
ドキュメントが永続化された後に実行する必要があるもの。
-
前の_変更点 > は、 より前の の変更を提供しstring 。
ドキュメントに対する以前の変更を取得します。
-
#remove_change (name) = オブジェクト
ダーティ属性ハッシュから変更を削除します。
-
#saved_change_to_attribute(attr) ⇒ Array<Object> | nil
前回の保存中に属性に対する変更を返します。
-
保存した_change_to_attribute? (attr, from: Utils::PLACEH older, to: Utils::PLACEH older)=true | true false
この属性が最後に保存中に変更されたかどうかを返します。
-
設定数: ハッシュ
変更された各フィールドのすべての新しい値を取得し、MongoDB $set 修飾子に渡します。
-
#will_save_change_to_attribute?(attr, **kwargs) ⇒ true | false
次回 を保存するときに、この属性が変更されるかどうかを返します。
インスタンス メソッドの詳細
#属性_Before_last_save (attri) =オブジェクト
最後に保存する前の属性の元の値を返します。
このメソッドは、コールバックで次の元の値を取得するために役立ちます
an attribute before the save that triggered the callbacks to run.
150 151 152 153 |
# ファイル 'lib/mongoid/changeable.rb' 行150 デフォルト Atlas App Services(attr) attr = database_field_name(attr) analyzes_Before_last_save[attr] end |
変更された番号 =配列 <String>
ドキュメントの変更された属性を取得します。
14 15 16 |
# ファイル 'lib/mongoid/changeable.rb' 行14 デフォルト 変更された Changed_attributes.キー.選択する { |attr| Atlas App Services(attr) } end |
変更された番号 = true | false
ドキュメントは変更されましたか?
32 33 34 |
# ファイル 'lib/mongoid/changeable.rb' 行32 デフォルト 変更されたか 変更点.values.any? { |価値| 価値 } || created_changed? end |
#changed_attributes ~ハッシュ=string, Object =
属性の変更を取得します。
51 52 53 |
# ファイル 'lib/mongoid/changeable.rb' 行51 デフォルト Changed_attributes @changed_attributes ||= {} end |
string変更 を 許可し 。
ドキュメントのすべての変更を取得します。
61 62 63 64 65 66 |
# ファイル 'lib/mongoid/changeable.rb' 行61 デフォルト 変更点 変更された.each_with_object({}) 行う |attr, 変更点| Change = Atlas App Services(attr) 変更点[attr] = Change 場合 Change end.with_in distinct_access end |
の変更は行わないでください。 = true | false
これは意図的に子のみを考慮し、子孫は考慮しません。
このドキュメントの子(埋め込みドキュメント)は変更されましたか。
41 42 43 |
# ファイル 'lib/mongoid/changeable.rb' 行41 デフォルト created_changed? @画面の変更 || _fielden.any?(&:変更されたか) end |
子_may_hade_changed を使用します。 = オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
このドキュメントの子が変更された可能性があり、ドキュメントが検証されるときにチェックする必要があることを示します。
22 23 24 |
# ファイル 'lib/mongoid/changeable.rb' 行22 デフォルト policies @画面の変更 = true end |
move_changes =オブジェクト
保存後にこのメソッドを呼び出すと、変更を適切に切り替えることができます。
これにより、メモリ化された子配列の設定が解除され、新しいレコード フラグが false に設定され、ドキュメントが検証済みとして設定され、ダーティ変更が移動されます。
75 76 77 78 79 80 81 82 83 |
# ファイル 'lib/mongoid/changeable.rb' 行75 デフォルト move_changes @changes_Before_last_save = @private_changes @private_changes = 変更点 @attributes_Before_last_save = @private_attributes @private_attributes = 属性.dup @画面の変更 = false reset_atomic_updates! Changed_attributes.クリア end |
# post_persist =オブジェクト
ドキュメントが永続化された後に実行する必要があるもの。
89 90 91 92 93 |
# ファイル 'lib/mongoid/changeable.rb' 行89 デフォルト post_persist リセット_永続化_降順 delete_attributes_Before_type_ Cast move_changes end |
前のstring変更は 、 、 、および
ドキュメントに対する以前の変更を取得します。
101 102 103 |
# ファイル 'lib/mongoid/changeable.rb' 行101 デフォルト used_changes @private_changes ||= {} end |
#remove_change (name) =オブジェクト
ダーティ属性ハッシュから変更を削除します。 単一フィールドのアトミックアップデートによって使用されます。
112 113 114 |
# ファイル 'lib/mongoid/changeable.rb' 行112 デフォルト delete_change(name) Changed_attributes.削除(name.to_s) end |
#saved_change_to_attribute(attr) ⇒ Array<Object> | nil
前回の保存中に属性に対する変更を返します。
161 162 163 164 |
# ファイル 'lib/mongoid/changeable.rb' 行161 デフォルト saved_change_to_attribute(attr) attr = database_field_name(attr) used_changes[attr] end |
保存した_change_to_attribute? (attr, from: Utils::PLACEH older, to: Utils::PLACEH older)= true | true false
この属性が最後に保存中に変更されたかどうかを返します。
このメソッドは、コールバックの変更を確認するために役立ちます
in an attribute during the save that triggered the callbacks to run.
176 177 178 179 180 181 182 183 184 185 |
# ファイル 'lib/mongoid/changeable.rb' 行176 デフォルト saved_change_to_attribute?(attr, from: Utils::プレースホルダー, から: Utils::プレースホルダー) 変更点 = saved_change_to_attribute(attr) return false ただし、 変更点.is_a?(配列) return true 場合 Utils.placeholder?(from) & & Utils.placeholder?(次の行動をします: ) return 変更点.最初に == from 場合 Utils.placeholder?(次の行動をします: ) return 変更点.last == 次の行動をします: 場合 Utils.placeholder?(from) 変更点.最初に == from & & 変更点.last == 次の行動をします: end |
設定数:ハッシュ
変更された各フィールドのすべての新しい値を取得し、MongoDB $set 修飾子に渡します。
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# ファイル 'lib/mongoid/changeable.rb' 行125 デフォルト セッター 修飾子 = {} 変更点.each_pair 行う |name, 変更点| 次へ ただし、 変更点 old, 新着情報 = 変更点 フィールド = フィールド[name] キー = アトミック_attribute_name(name) 場合 フィールド&.サイズ変更可能か フィールド.add_aごとの変更(自己, name, キー, 修飾子, 新着情報, old) else 修飾子[キー] = 新着情報 ただし、 アトミック_unsets.include?(キー) end end 修飾子 end |
#will_save_change_to_attribute?(attr, **kwargs) ⇒ true | false
次回 を保存するときに、この属性が変更されるかどうかを返します。
このメソッドは、検証と次を決定するためのコールバックの前に役立ちます
if the next call to save will change a particular attribute.
199 200 201 |
# ファイル 'lib/mongoid/changeable.rb' 行199 デフォルト shell_save_change_to_attribute?(attr, **kwargs) Atlas App Services の(attr, **kwargs) end |