Module: ByStar::Calculations::Sum
- Included in:
- ByStar::Calculations
- Defined in:
- lib/by_star/calculations/sum.rb
Instance Method Summary collapse
- #sum_by_day(field, day = Time.zone.now, options = {}, &block) ⇒ Object
- #sum_by_month(field, month = Time.zone.now.month, options = {}, &block) ⇒ Object
- #sum_by_year(field, year = Time.zone.now.year, options = {}, &block) ⇒ Object
Instance Method Details
#sum_by_day(field, day = Time.zone.now, options = {}, &block) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/by_star/calculations/sum.rb', line 17 def sum_by_day(field, day=Time.zone.now, ={}, &block) scoped_by(block) do day = parse(day) sum(field, { :conditions => conditions_for_range(day.beginning_of_day, day.end_of_day, .delete(:field)) }.reverse_merge!()) end end |
#sum_by_month(field, month = Time.zone.now.month, options = {}, &block) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/by_star/calculations/sum.rb', line 10 def sum_by_month(field, month=Time.zone.now.month, ={}, &block) year, month = work_out_month(month, .delete(:year)) scoped_by(block) do sum(field, { :conditions => conditions_for_range(start_of_month(month, year), end_of_month(month, year), .delete(:field)) }.reverse_merge!()) end end |
#sum_by_year(field, year = Time.zone.now.year, options = {}, &block) ⇒ Object
4 5 6 7 8 |
# File 'lib/by_star/calculations/sum.rb', line 4 def sum_by_year(field, year=Time.zone.now.year, ={}, &block) scoped_by(block) do sum(field, { :conditions => conditions_for_range(start_of_year(year), end_of_year(year), .delete(:field)) }.reverse_merge!()) end end |