モジュール: Mongoid:::関連付け::参照::CounterCache:Classメソッドs
- 定義:
- lib/mongoid/関連付け/referenced/counter_cache.rb
インスタンス メソッドの概要を折りたたむ
-
#decimal_counter (counter_name, ID ) = Object
ID に一致するエントリからカウンター名を 1 つずつ減算します。
-
# accumulate_counter (counter_name, ID) = Object
ID に一致するエントリからカウンター名を 1 ずつ増加させます。
-
# delete_counters ( ID , *counters) = オブジェクト
.count() メソッドを使用して指定されたカウンターをリセットします。 dbからのクエリ。
-
update_counters ( ID , counter) = オブジェクト
指定されたカウンターを値の係数で更新します。
インスタンス メソッドの詳細
#decimal_counter (counter_name, ID ) = Object
ID に一致するエントリからカウンター名を 1 つずつ減算します。 このメソッドは、counter_cache が有効になっている場合に関連付けコールバックで使用されます
84 85 86 |
# ファイル 'lib/mongoid/関連付け/referenced/counter_cache.rb' 行84 デフォルト デクリメント_カウンター(counter_name, id) update_counters(id, counter_name.to_sym => -1) end |
# accumulate_counter (counter_name, ID) = Object
ID に一致するエントリからカウンター名を 1 ずつ増加させます。 このメソッドは、counter_cache が有効になっている場合に関連付けコールバックで使用されます
71 72 73 |
# ファイル 'lib/mongoid/関連付け/referenced/counter_cache.rb' 行71 デフォルト インクリメント_カウンター(counter_name, id) update_counters(id, counter_name.to_sym => 1) end |
#reset_counters (id, *counters) =オブジェクト
.count() メソッドを使用して指定されたカウンターをリセットします。 dbからのクエリ。 このメソッドは、カウンターが破損した場合、または新しいカウンターが コレクションに追加された場合に役立ちます。
39 40 41 42 43 44 45 46 |
# ファイル 'lib/mongoid/関連付け/referenced/counter_cache.rb' 行39 デフォルト delete_counters(id, *カウンター) ドキュメント = id.is_a?(ドキュメント) ? id : find(id) カウンター.各 行う |name| 関係_関連付け = 関係[name] counter_name = 関係_関連付け.逆_関連付け.counter_cache_count_name ドキュメント.update_attribute(counter_name, ドキュメント.送信(name).count) end end |
update_counters ( ID , counter) =オブジェクト
指定されたカウンターを値の係数で更新します。 アトミックな $inc コマンドを使用します。
58 59 60 |
# ファイル 'lib/mongoid/関連付け/referenced/counter_cache.rb' 行58 デフォルト update_counters(id, カウンター) WHERE(:_id => id).含む(カウンター) end |