Class: ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyLimitsTask
- Inherits:
-
Object
- Object
- ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyLimitsTask
- Includes:
- Task
- Defined in:
- lib/3scale_toolbox/commands/service_command/copy_command/copy_limits_task.rb
Instance Attribute Summary
Attributes included from Task
Instance Method Summary collapse
Methods included from Task
#delete_mapping_rules, #find_source_service, #force_delete_mapping_rules, #initialize, #invalidate_target_methods, #invalidate_target_metrics, #option_target_system_name, #source, #source_hits, #source_methods, #source_metrics, #source_metrics_and_methods, #source_remote, #source_service_ref, #target, #target=, #target_hits, #target_methods, #target_metrics, #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_limits_task.rb', line 8 def call plan_mapping = Helper.application_plan_mapping(source.plans, target.plans) plan_mapping.each do |plan_id, target_plan| source_plan = ThreeScaleToolbox::Entities::ApplicationPlan.new(id: plan_id, service: source) target_plan = ThreeScaleToolbox::Entities::ApplicationPlan.new(id: target_plan['id'], service: target) missing_limits = missing_limits(source_plan.limits, target_plan.limits, metrics_map) missing_limits.each do |limit| limit.delete('links') target_plan.create_limit(metrics_map.fetch(limit.fetch('metric_id')), limit) end puts "Missing #{missing_limits.size} plan limits from target application plan " \ "#{target_plan.id}. Source plan #{plan_id}" end end |