Module: ActiveRecord::Materialized::ViewQueryAccessClassMethods::ClassMethods
- Extended by:
- T::Sig
- Defined in:
- lib/activerecord/materialized/view_query_access_class_methods.rb
Overview
The read and refresh methods available on a ActiveRecord::Materialized::View subclass.
Instance Method Summary collapse
- #all(*args) ⇒ Object
- #count(*args) ⇒ Object
- #dirty? ⇒ Boolean
- #find(*args) ⇒ Object
- #find_by(*args) ⇒ Object
- #last_refreshed_at ⇒ Object
- #mark_dependencies_changed! ⇒ Object
- #materialized? ⇒ Boolean
- #rebuild!(confirm: false) ⇒ Object
- #refresh! ⇒ Object
- #refresh_if_stale! ⇒ Object
- #refreshing? ⇒ Boolean
- #stale? ⇒ Boolean
- #table_exists? ⇒ Boolean
- #view_class ⇒ Object
- #warm? ⇒ Boolean
- #where(*args) ⇒ Object
Instance Method Details
#all(*args) ⇒ Object
95 96 97 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 95 def all(*args) read_scope.all(*args) end |
#count(*args) ⇒ Object
115 116 117 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 115 def count(*args) read_scope.count(*args) end |
#dirty? ⇒ Boolean
35 36 37 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 35 def dirty? view_class..dirty? end |
#find(*args) ⇒ Object
105 106 107 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 105 def find(*args) read_scope.find(*args) end |
#find_by(*args) ⇒ Object
110 111 112 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 110 def find_by(*args) partition_scope(args).find_by(*args) end |
#last_refreshed_at ⇒ Object
52 53 54 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 52 def last_refreshed_at view_class..last_refreshed_at end |
#mark_dependencies_changed! ⇒ Object
62 63 64 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 62 def mark_dependencies_changed! view_class..mark_dirty! end |
#materialized? ⇒ Boolean
47 48 49 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 47 def materialized? view_class.table_exists? && view_class..warm? end |
#rebuild!(confirm: false) ⇒ Object
85 86 87 88 89 90 91 92 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 85 def rebuild!(confirm: false) unless confirm Kernel.raise ArgumentError, "#{view_class.name}.rebuild! performs a full materialization; call rebuild!(confirm: true)" end Refresher.new(view_class).rebuild! end |
#refresh! ⇒ Object
73 74 75 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 73 def refresh! Refresher.new(view_class).refresh! end |
#refresh_if_stale! ⇒ Object
78 79 80 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 78 def refresh_if_stale! refresh! if materialized? && stale? end |
#refreshing? ⇒ Boolean
57 58 59 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 57 def refreshing? view_class..refreshing? end |
#stale? ⇒ Boolean
30 31 32 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 30 def stale? view_class..stale? end |
#table_exists? ⇒ Boolean
67 68 69 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 67 def table_exists? view_class.connection.data_source_exists?(view_class.table_name) end |
#view_class ⇒ Object
25 26 27 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 25 def view_class T.cast(self, T.class_of(View)) end |
#warm? ⇒ Boolean
40 41 42 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 40 def warm? view_class..warm? end |
#where(*args) ⇒ Object
100 101 102 |
# File 'lib/activerecord/materialized/view_query_access_class_methods.rb', line 100 def where(*args) partition_scope(args).where(*args) end |