class ThreeScaleToolbox::Commands::ServiceCommand::CopyCommand::CopyApplicationPlansTask

Public Instance Methods

call() click to toggle source
# File lib/3scale_toolbox/commands/service_command/copy_command/copy_app_plans_task.rb, line 8
def call
  missing_regular_plans.each do |plan|
    plan_attrs = plan.attrs.clone
    plan_attrs.delete('links')
    plan_attrs.delete('default') # TODO: handle default plan
    ThreeScaleToolbox::Entities::ApplicationPlan.create(service: target, plan_attrs: plan_attrs)
  end

  logger.info "target service missing #{missing_regular_plans.size} application plans"
  report['missing_application_plans_created'] = missing_regular_plans.size
end

Private Instance Methods

missing_plans() click to toggle source
# File lib/3scale_toolbox/commands/service_command/copy_command/copy_app_plans_task.rb, line 26
def missing_plans
  @missing_plans ||= ThreeScaleToolbox::Helper.array_difference(source.plans, target.plans) do |src, target|
    src.system_name == target.system_name
  end
end
missing_regular_plans() click to toggle source
# File lib/3scale_toolbox/commands/service_command/copy_command/copy_app_plans_task.rb, line 22
def missing_regular_plans
  missing_plans.reject(&:custom)
end