Class: JsonapiCompliable::Stats::Payload
- Inherits:
-
Object
- Object
- JsonapiCompliable::Stats::Payload
- Defined in:
- lib/jsonapi_compliable/stats/payload.rb
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(controller, scope) ⇒ Payload
constructor
A new instance of Payload.
Constructor Details
#initialize(controller, scope) ⇒ Payload
4 5 6 7 8 |
# File 'lib/jsonapi_compliable/stats/payload.rb', line 4 def initialize(controller, scope) @dsl = controller._jsonapi_compliable @directive = controller.params[:stats] @scope = controller._jsonapi_scope || scope end |
Instance Method Details
#generate ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/jsonapi_compliable/stats/payload.rb', line 10 def generate {}.tap do |stats| @directive.each_pair do |name, calculation| stats[name] = {} each_calculation(name, parse_calculation(calculation)) do |calc, function| stats[name][calc] = function.call(@scope, name) end end end end |