Sha256: ff5ef61e4929d136c558bc54798c3d96377a7b3cf552967b981cad413089dfee
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
module ThreeScaleToolbox module Commands module ImportCommand module OpenAPI class CreateMethodsStep include Step 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']) method = Entities::Method.new(id: method_attrs.fetch('id'), service: service) method.update(op.method) op.set(:metric_id, method.id) end end private def methods_index @methods_index ||= service.methods.each_with_object({}) do |method, acc| acc[method['system_name']] = method end end def missing_operations operations.reject { |op| methods_index.key? op.method['system_name'] } end def existing_operations operations.select { |op| methods_index.key? op.method['system_name'] } end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
3scale_toolbox-0.18.0 | lib/3scale_toolbox/commands/import_command/openapi/create_method_step.rb |