class ReportsKits::Reports::Data::PopulateOneDimension
Attributes
context_record[RW]
properties[RW]
sparse_serieses_dimension_keys_values[RW]
Public Class Methods
new(sparse_serieses_dimension_keys_values, context_record: nil, properties: nil)
click to toggle source
# File lib/reports_kits/reports/data/populate_one_dimension.rb, line 7 def initialize(sparse_serieses_dimension_keys_values, context_record: nil, properties: nil) self.sparse_serieses_dimension_keys_values = sparse_serieses_dimension_keys_values self.context_record = context_record self.properties = properties end
Public Instance Methods
perform()
click to toggle source
# File lib/reports_kits/reports/data/populate_one_dimension.rb, line 13 def perform return sparse_serieses_dimension_keys_values if sparse_serieses_dimension_keys_values.length == 1 serieses_dimension_keys_values end
Private Instance Methods
dimension_keys()
click to toggle source
# File lib/reports_kits/reports/data/populate_one_dimension.rb, line 30 def dimension_keys dimension_keys_from_edit_dimension_keys_method || dimension_keys_from_results end
dimension_keys_from_edit_dimension_keys_method()
click to toggle source
# File lib/reports_kits/reports/data/populate_one_dimension.rb, line 34 def dimension_keys_from_edit_dimension_keys_method return unless edit_dimension_keys_method edit_dimension_keys_method.call(dimension_keys: dimension_keys_from_results, properties: properties, context_record: context_record) end
dimension_keys_from_results()
click to toggle source
# File lib/reports_kits/reports/data/populate_one_dimension.rb, line 39 def dimension_keys_from_results @dimension_keys_from_results ||= begin sparse_serieses_dimension_keys_values.map do |series, dimension_keys_values| dimension_keys_values.keys end.reduce(&:+).uniq end end
edit_dimension_keys_method()
click to toggle source
# File lib/reports_kits/reports/data/populate_one_dimension.rb, line 47 def edit_dimension_keys_method return unless properties ReportsKits.configuration.custom_method(properties[:report_options].try(:[], :edit_dimension_keys_method)) end
serieses_dimension_keys_values()
click to toggle source
# File lib/reports_kits/reports/data/populate_one_dimension.rb, line 20 def serieses_dimension_keys_values serieses_dimension_keys_values = sparse_serieses_dimension_keys_values.map do |series, dimension_keys_values| dimension_keys.each do |key| dimension_keys_values[key] ||= 0 end [series, dimension_keys_values] end Hash[serieses_dimension_keys_values] end