Sha256: b2a113f63d4c4417f9da3a4d0d256f7d4d3271aca24977aac4ff89071cbd9b42
Contents?: true
Size: 749 Bytes
Versions: 10
Compression:
Stored size: 749 Bytes
Contents
module JsonapiCompliable module Stats class Payload def initialize(resource, query_hash, scope) @resource = resource @query_hash = query_hash[:stats] @scope = scope end def generate {}.tap do |stats| @query_hash.each_pair do |name, calculation| stats[name] = {} each_calculation(name, calculation) do |calc, function| stats[name][calc] = function.call(@scope, name) end end end end private def each_calculation(name, calculations) calculations.each do |calc| function = @resource.stat(name, calc) yield calc, function end end end end end
Version data entries
10 entries across 10 versions & 1 rubygems