class ThreeScaleToolbox::Commands::PlansCommand::Import::ImportPricingRulesStep
Public Instance Methods
call()
click to toggle source
Writes Plan pricing rules
# File lib/3scale_toolbox/commands/plans_command/import/import_plan_pricing_rules_step.rb, line 9 def call # SET semantics # First, delete existing pricing rules # Second, add new pricing rules plan.pricing_rules.each do |pr| pr.delete() puts "Deleted existing plan pricing rule: [metric: #{pr.metric_id}, #{pr.attrs}]" end resource_pr_processed.each do |pr_attrs| metric_id = pr_attrs.delete('metric_id') plan.create_pricing_rule(metric_id, pr_attrs) puts "Created plan pricing rule: [metric: #{metric_id}, #{pr_attrs}]" end end
Private Instance Methods
resource_pr_processed()
click to toggle source
# File lib/3scale_toolbox/commands/plans_command/import/import_plan_pricing_rules_step.rb, line 27 def resource_pr_processed resource_pricing_rules.map do |pr| metric = find_metric_by_system_name(pr.delete('metric_system_name')) pr.merge('metric_id' => metric.id, 'cost_per_unit' => pr.fetch('cost_per_unit').to_f) end end