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