Module: BabySqueel::ActiveRecord::Calculations
- Defined in:
- lib/baby_squeel/active_record/calculations.rb
Instance Method Summary collapse
- #aggregate_column(column_name) ⇒ Object
- #averaging(&block) ⇒ Object
- #counting(&block) ⇒ Object
- #maximizing(&block) ⇒ Object
- #minimizing(&block) ⇒ Object
- #plucking(&block) ⇒ Object
- #summing(&block) ⇒ Object
- #type_for(field) ⇒ Object
Instance Method Details
#aggregate_column(column_name) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 32 def aggregate_column(column_name) if column_name.kind_of? Calculation column_name.node else super end end |
#averaging(&block) ⇒ Object
19 20 21 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 19 def averaging(&block) average Calculation.new(DSL.evaluate(self, &block)) end |
#counting(&block) ⇒ Object
11 12 13 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 11 def counting(&block) count Calculation.new(DSL.evaluate(self, &block)) end |
#maximizing(&block) ⇒ Object
27 28 29 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 27 def maximizing(&block) maximum Calculation.new(DSL.evaluate(self, &block)) end |
#minimizing(&block) ⇒ Object
23 24 25 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 23 def minimizing(&block) minimum Calculation.new(DSL.evaluate(self, &block)) end |
#plucking(&block) ⇒ Object
7 8 9 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 7 def plucking(&block) pluck Pluck.wrap(DSL.evaluate(self, &block)) end |
#summing(&block) ⇒ Object
15 16 17 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 15 def summing(&block) sum Calculation.new(DSL.evaluate(self, &block)) end |
#type_for(field) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/baby_squeel/active_record/calculations.rb', line 42 def type_for(field) if field.kind_of? Calculation field else super end end |