Module: BabySqueel::ActiveRecord::Calculations
- Defined in:
- lib/baby_squeel/active_record/calculations.rb
Instance Method Summary collapse
- #averaging(&block) ⇒ Object
- #counting(&block) ⇒ Object
- #maximizing(&block) ⇒ Object
- #minimizing(&block) ⇒ Object
- #plucking(&block) ⇒ Object
- #summing(&block) ⇒ Object
Instance Method Details
#averaging(&block) ⇒ Object
21 22 23 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 21 def averaging(&block) average Calculation.new(DSL.evaluate(self, &block)) end |
#counting(&block) ⇒ Object
13 14 15 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 13 def counting(&block) count Calculation.new(DSL.evaluate(self, &block)) end |
#maximizing(&block) ⇒ Object
29 30 31 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 29 def maximizing(&block) maximum Calculation.new(DSL.evaluate(self, &block)) end |
#minimizing(&block) ⇒ Object
25 26 27 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 25 def minimizing(&block) minimum Calculation.new(DSL.evaluate(self, &block)) end |
#plucking(&block) ⇒ Object
7 8 9 10 11 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 7 def plucking(&block) nodes = Array.wrap(DSL.evaluate(self, &block)) nodes = nodes.map { |node| Pluck.decorate(node) } pluck(*nodes) end |
#summing(&block) ⇒ Object
17 18 19 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 17 def summing(&block) sum Calculation.new(DSL.evaluate(self, &block)) end |