Module: RailsPulse::Extensions::ActiveRecord::DateResultTransformer
- Defined in:
- lib/rails_pulse/extensions/active_record.rb
Overview
Module to transform aggregation result keys from strings to Date objects This makes the API match Groupdate’s behavior
Instance Method Summary collapse
- #average(*args) ⇒ Object
- #count(*args) ⇒ Object
- #maximum(*args) ⇒ Object
- #minimum(*args) ⇒ Object
- #pluck(*args) ⇒ Object
- #sum(*args) ⇒ Object
Instance Method Details
#average(*args) ⇒ Object
59 60 61 |
# File 'lib/rails_pulse/extensions/active_record.rb', line 59 def average(*args) super.transform_keys { |date_str| Date.parse(date_str.to_s) } end |
#count(*args) ⇒ Object
53 54 55 56 57 |
# File 'lib/rails_pulse/extensions/active_record.rb', line 53 def count(*args) result = super # count can return an integer or a hash depending on whether group is used result.is_a?(Hash) ? result.transform_keys { |date_str| Date.parse(date_str.to_s) } : result end |
#maximum(*args) ⇒ Object
63 64 65 |
# File 'lib/rails_pulse/extensions/active_record.rb', line 63 def maximum(*args) super.transform_keys { |date_str| Date.parse(date_str.to_s) } end |
#minimum(*args) ⇒ Object
67 68 69 |
# File 'lib/rails_pulse/extensions/active_record.rb', line 67 def minimum(*args) super.transform_keys { |date_str| Date.parse(date_str.to_s) } end |
#pluck(*args) ⇒ Object
71 72 73 74 75 |
# File 'lib/rails_pulse/extensions/active_record.rb', line 71 def pluck(*args) result = super # If grouping, transform the keys result.is_a?(Hash) ? result.transform_keys { |date_str| Date.parse(date_str.to_s) } : result end |
#sum(*args) ⇒ Object
49 50 51 |
# File 'lib/rails_pulse/extensions/active_record.rb', line 49 def sum(*args) super.transform_keys { |date_str| Date.parse(date_str.to_s) } end |