Module: ArCache::ActiveRecord::ConnectionAdapters::DatabaseStatements
- Defined in:
- lib/ar_cache/active_record/connection_adapters/abstract/database_statements.rb
Instance Method Summary collapse
- #delete(arel) ⇒ Object
- #select_all(arel) ⇒ Object
- #truncate(table_name) ⇒ Object
- #truncate_tables(*table_names) ⇒ Object
-
#update(arel) ⇒ Object
def insert(arel, …) end alias create insert.
Instance Method Details
#delete(arel) ⇒ Object
31 32 33 |
# File 'lib/ar_cache/active_record/connection_adapters/abstract/database_statements.rb', line 31 def delete(arel, ...) super.tap { |num| update_ar_cache(arel) unless num.zero? } end |
#select_all(arel) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/ar_cache/active_record/connection_adapters/abstract/database_statements.rb', line 7 def select_all(arel, ...) result = super klass, select_values = arel.try(:klass_and_select_values) return result if klass.nil? klass.ar_cache_table.write(result.to_a) if select_values result.to_a.each { |r| r.slice!(*select_values) } elsif klass.ignored_columns.any? result.to_a.each { |r| r.except!(*klass.ignored_columns) } end result end |
#truncate(table_name) ⇒ Object
35 36 37 |
# File 'lib/ar_cache/active_record/connection_adapters/abstract/database_statements.rb', line 35 def truncate(table_name, ...) super.tap { update_ar_cache_by_table(table_name) } end |
#truncate_tables(*table_names) ⇒ Object
39 40 41 42 43 |
# File 'lib/ar_cache/active_record/connection_adapters/abstract/database_statements.rb', line 39 def truncate_tables(*table_names) super.tap do table_names.each { |table_name| update_ar_cache_by_table(table_name) } end end |
#update(arel) ⇒ Object
def insert(arel, …) end alias create insert
27 28 29 |
# File 'lib/ar_cache/active_record/connection_adapters/abstract/database_statements.rb', line 27 def update(arel, ...) super.tap { |num| update_ar_cache(arel) unless num.zero? } end |