Class: ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyMappingRulesTask

Inherits:
Object
  • Object
show all
Includes:
Task
Defined in:
lib/3scale_toolbox/commands/service_command/copy_command/copy_mapping_rules_task.rb

Instance Attribute Summary

Attributes included from Task

#context

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

#callObject



8
9
10
11
12
13
14
15
16
17
# File 'lib/3scale_toolbox/commands/service_command/copy_command/copy_mapping_rules_task.rb', line 8

def call
  missing_rules = missing_mapping_rules(source.mapping_rules,
                                        target.mapping_rules, metrics_map)
  missing_rules.each do |mapping_rule|
    mapping_rule.delete('links')
    mapping_rule['metric_id'] = metrics_map.fetch(mapping_rule.delete('metric_id'))
    target.create_mapping_rule mapping_rule
  end
  puts "created #{missing_rules.size} mapping rules"
end