モジュール: Mongoid::changeable
Overview
ダーティ追跡の動作を定義します。
名前空間で定義済み
インスタンス メソッドの概要を折りたたむ
-
#属性_Before_last_save (attri) = オブジェクト
最後に保存する前の属性の元の値を返します。
-
変更された番号 = 配列 <String>
ドキュメントの変更された属性を取得します。
-
変更された番号= true | false
ドキュメントは変更されましたか。
-
#changed_attributes ~ハッシュ=string, Object=
属性の変更を取得します。
-
変更を許可しstring 。] の変更。
ドキュメントのすべての変更を取得します。
-
の変更は行わないでください。 = true | false
このドキュメントの子(埋め込みドキュメント)が変更されたかどうか。
-
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.
141 142 143 144 |
# ファイル 'lib/mongoid/changeable.rb' 行141 デフォルト 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
ドキュメントは変更されましたか?
24 25 26 |
# ファイル 'lib/mongoid/changeable.rb' 行24 デフォルト 変更されたか 変更点.values.any? { |価値| 価値 } || created_changed? end |
#changed_attributes ~ハッシュ=string, Object =
属性の変更を取得します。
43 44 45 |
# ファイル 'lib/mongoid/changeable.rb' 行43 デフォルト Changed_attributes @changed_attributes ||= {} end |
string変更 を 許可し 。
ドキュメントのすべての変更を取得します。
53 54 55 56 57 58 |
# ファイル 'lib/mongoid/changeable.rb' 行53 デフォルト 変更点 変更された.each_with_object({}) 行う |attr, 変更点| Change = Atlas App Services(attr) 変更点[attr] = Change 場合 Change end.with_in distinct_access end |
の変更は行わないでください。 = true | false
これは意図的に子のみを考慮し、子孫は考慮しません。
このドキュメントの子(埋め込みドキュメント)は変更されましたか。
33 34 35 |
# ファイル 'lib/mongoid/changeable.rb' 行33 デフォルト created_changed? _fielden.any?(&:変更されたか) end |
move_changes =オブジェクト
保存後にこのメソッドを呼び出すと、変更を適切に切り替えることができます。
これにより、メモリ化された子配列の設定が解除され、新しいレコード フラグが false に設定され、ドキュメントが検証済みとして設定され、ダーティ変更が移動されます。
67 68 69 70 71 72 73 74 |
# ファイル 'lib/mongoid/changeable.rb' 行67 デフォルト move_changes @changes_Before_last_save = @private_changes @private_changes = 変更点 @attributes_Before_last_save = @private_attributes @private_attributes = 属性.dup reset_atomic_updates! Changed_attributes.クリア end |
# post_persist =オブジェクト
ドキュメントが永続化された後に実行する必要があるもの。
80 81 82 83 84 |
# ファイル 'lib/mongoid/changeable.rb' 行80 デフォルト post_persist リセット_永続化_降順 delete_attributes_Before_type_ Cast move_changes end |
前のstring変更は 、 、 、および
ドキュメントに対する以前の変更を取得します。
92 93 94 |
# ファイル 'lib/mongoid/changeable.rb' 行92 デフォルト used_changes @private_changes ||= {} end |
#remove_change (name) =オブジェクト
ダーティ属性ハッシュから変更を削除します。 単一フィールドのアトミックアップデートによって使用されます。
103 104 105 |
# ファイル 'lib/mongoid/changeable.rb' 行103 デフォルト delete_change(name) Changed_attributes.削除(name.to_s) end |
#saved_change_to_attribute(attr) ⇒ Array<Object> | nil
前回の保存中に属性に対する変更を返します。
152 153 154 155 |
# ファイル 'lib/mongoid/changeable.rb' 行152 デフォルト 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.
167 168 169 170 171 172 173 174 175 176 |
# ファイル 'lib/mongoid/changeable.rb' 行167 デフォルト 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 修飾子に渡します。
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# ファイル 'lib/mongoid/changeable.rb' 行116 デフォルト セッター 修飾子 = {} 変更点.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.
190 191 192 |
# ファイル 'lib/mongoid/changeable.rb' 行190 デフォルト shell_save_change_to_attribute?(attr, **kwargs) Atlas App Services の(attr, **kwargs) end |