class ThreeScaleToolbox::Commands::PlansCommand::Export::ReadPlanMetrics
Public Instance Methods
call()
click to toggle source
Compute unique list of metrics limits and pricingrules
# File lib/3scale_toolbox/commands/plans_command/export/read_plan_metrics_step.rb, line 9 def call all_metrics = [ limit_metrics, pricingrule_metrics ] result[:plan_metrics] = all_metrics.each_with_object({}) { |elem, acc| acc.merge!(elem) } end
Private Instance Methods
filtered_limit_metrics()
click to toggle source
# File lib/3scale_toolbox/commands/plans_command/export/read_plan_metrics_step.rb, line 28 def filtered_limit_metrics result[:limits].select { |limit| limit.dig('metric', 'type') == 'metric' } end
filtered_pricing_rule_metrics()
click to toggle source
# File lib/3scale_toolbox/commands/plans_command/export/read_plan_metrics_step.rb, line 40 def filtered_pricing_rule_metrics result[:pricingrules].select { |limit| limit.dig('metric', 'type') == 'metric' } end
limit_metrics()
click to toggle source
# File lib/3scale_toolbox/commands/plans_command/export/read_plan_metrics_step.rb, line 19 def limit_metrics # multiple limits can reference the same metric filtered_limit_metrics.each_with_object({}) do |elem, acc| # find_metric should not return nil. # It is assumed that metric_id refers to existing element from previous steps acc[elem['metric_id']] = find_metric(elem['metric_id']).attrs end end
pricingrule_metrics()
click to toggle source
# File lib/3scale_toolbox/commands/plans_command/export/read_plan_metrics_step.rb, line 32 def pricingrule_metrics filtered_pricing_rule_metrics.each_with_object({}) do |elem, acc| # find_metric should not return nil. # It is assumed that metric_id refers to existing element from previous steps acc[elem['metric_id']] = find_metric(elem['metric_id']).attrs end end