Class: ActiveRecord::Relation
- Inherits:
-
Object
- Object
- ActiveRecord::Relation
- Defined in:
- lib/slavery/relation.rb
Instance Attribute Summary collapse
-
#slavery_target ⇒ Object
Returns the value of attribute slavery_target.
Instance Method Summary collapse
-
#calculate_with_slavery(operation, column_name, options = {}) ⇒ Object
Supports queries like User.on_slave.count.
-
#exec_queries_with_slavery ⇒ Object
Supports queries like User.on_slave.to_a.
Instance Attribute Details
#slavery_target ⇒ Object
Returns the value of attribute slavery_target.
2 3 4 |
# File 'lib/slavery/relation.rb', line 2 def slavery_target @slavery_target end |
Instance Method Details
#calculate_with_slavery(operation, column_name, options = {}) ⇒ Object
Supports queries like User.on_slave.count
14 15 16 17 18 19 20 |
# File 'lib/slavery/relation.rb', line 14 def calculate_with_slavery(operation, column_name, = {}) if slavery_target == :slave Slavery.on_slave { calculate_without_slavery(operation, column_name, ) } else calculate_without_slavery(operation, column_name, ) end end |
#exec_queries_with_slavery ⇒ Object
Supports queries like User.on_slave.to_a
5 6 7 8 9 10 11 |
# File 'lib/slavery/relation.rb', line 5 def exec_queries_with_slavery if slavery_target == :slave Slavery.on_slave { exec_queries_without_slavery } else exec_queries_without_slavery end end |