Class: ActiveRecord::Relation
- Inherits:
-
Object
- Object
- ActiveRecord::Relation
- Defined in:
- lib/knockoff/active_record/relation.rb
Instance Attribute Summary collapse
-
#knockoff_target ⇒ Object
Returns the value of attribute knockoff_target.
Instance Method Summary collapse
- #calculate(*args) ⇒ Object
-
#calculate_without_knockoff ⇒ Object
Supports queries like User.on_replica.count.
- #exec_queries(&block) ⇒ Object
-
#exec_queries_without_knockoff ⇒ Object
Supports queries like User.on_replica.to_a.
Instance Attribute Details
#knockoff_target ⇒ Object
Returns the value of attribute knockoff_target.
3 4 5 |
# File 'lib/knockoff/active_record/relation.rb', line 3 def knockoff_target @knockoff_target end |
Instance Method Details
#calculate(*args) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/knockoff/active_record/relation.rb', line 20 def calculate(*args) if knockoff_target == :replica Knockoff.on_replica { calculate_without_knockoff(*args) } else calculate_without_knockoff(*args) end end |
#calculate_without_knockoff ⇒ Object
Supports queries like User.on_replica.count
18 |
# File 'lib/knockoff/active_record/relation.rb', line 18 alias_method :calculate_without_knockoff, :calculate |
#exec_queries(&block) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/knockoff/active_record/relation.rb', line 8 def exec_queries(&block) if knockoff_target == :replica Knockoff.on_replica { exec_queries_without_knockoff(&block) } else exec_queries_without_knockoff(&block) end end |
#exec_queries_without_knockoff ⇒ Object
Supports queries like User.on_replica.to_a
6 |
# File 'lib/knockoff/active_record/relation.rb', line 6 alias_method :exec_queries_without_knockoff, :exec_queries |