Class: ThreeScaleToolbox::Commands::ImportCommand::OpenAPI::CreateMethodsStep

Inherits:
Object
  • Object
show all
Includes:
Step
Defined in:
lib/3scale_toolbox/commands/import_command/openapi/create_method_step.rb

Instance Attribute Summary

Attributes included from Step

#context

Instance Method Summary collapse

Methods included from Step

#api_spec, #backend_api_host_header, #backend_api_secret_token, #base_path, #build_3scale_operations, #default_credentials_userkey, #initialize, #oidc_issuer_endpoint, #oidc_issuer_type, #operations, #override_private_base_url, #override_private_basepath, #override_public_basepath, #prefix_matching, #private_base_path, #production_public_base_url, #public_base_path, #resource, #service, #service=, #staging_public_base_url, #target_system_name, #threescale_client

Instance Method Details

#callObject



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/3scale_toolbox/commands/import_command/openapi/create_method_step.rb', line 8

def call
  missing_operations.each do |op|
    method = Entities::Method.create(service: service, attrs: op.method)
    op.set(:metric_id, method.id)
  end

  existing_operations.each do |op|
    method_attrs = methods_index.fetch(op.method['system_name']).attrs
    method = Entities::Method.new(id: method_attrs.fetch('id'), service: service)
    method.update(op.method)
    op.set(:metric_id, method.id)
  end
end