Class: ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyPricingRulesTask
- Inherits:
-
Object
- Object
- ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyPricingRulesTask
- Includes:
- Task
- Defined in:
- lib/3scale_toolbox/commands/service_command/copy_command/copy_pricingrules_task.rb
Instance Attribute Summary
Attributes included from Task
Instance Method Summary collapse
Methods included from Task
#activedocs_report, #delete_mapping_rules, #find_source_service, #force_delete_mapping_rules, #initialize, #logger, #option_target_system_name, #plans_report, #report, #source, #source_metrics_and_methods, #source_remote, #source_service_ref, #target, #target=, #target_metrics_and_methods, #target_remote
Instance Method Details
#call ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/3scale_toolbox/commands/service_command/copy_command/copy_pricingrules_task.rb', line 8 def call plan_mapping = Helper.application_plan_mapping(source.plans, target.plans) plan_mapping.each do |source_plan, target_plan| missing_pricing_rules = compute_missing_pricing_rules(source_plan.pricing_rules, target_plan.pricing_rules) missing_pricing_rules.each do |pricing_rule| target_plan.create_pricing_rule(metrics_map.fetch(pricing_rule.metric_id), pricing_rule.attrs) end logger.info "Missing #{missing_pricing_rules.size} pricing rules from target application plan " \ "#{target_plan.id}. Source plan #{source_plan.id}" plans_report[target_plan.system_name] = {'application_plan_id' => target_plan.id} unless plans_report.has_key? target_plan.system_name plans_report[target_plan.system_name].merge!({'missing_pricing_rules_created' => missing_pricing_rules.size}) end end |