diff --git a/rswag-specs/lib/rswag/specs/example_group_helpers.rb b/rswag-specs/lib/rswag/specs/example_group_helpers.rb index b09420d..79c67ab 100644 --- a/rswag-specs/lib/rswag/specs/example_group_helpers.rb +++ b/rswag-specs/lib/rswag/specs/example_group_helpers.rb @@ -2,9 +2,9 @@ module Rswag module Specs module ExampleGroupHelpers - def path(path, &block) - api_metadata = { path: path} - describe(path, api_metadata, &block) + def path(template, &block) + api_metadata = { path_item: { template: template } } + describe(template, api_metadata, &block) end [ :get, :post, :patch, :put, :delete, :head ].each do |verb| diff --git a/rswag-specs/lib/rswag/specs/request_factory.rb b/rswag-specs/lib/rswag/specs/request_factory.rb index 39ade56..fb15045 100644 --- a/rswag-specs/lib/rswag/specs/request_factory.rb +++ b/rswag-specs/lib/rswag/specs/request_factory.rb @@ -11,7 +11,7 @@ module Rswag end def build_fullpath(example) - @api_metadata[:path].dup.tap do |t| + @api_metadata[:path_item][:template].dup.tap do |t| t.prepend(@global_metadata[:basePath] || '') parameters_in(:path).each { |p| t.gsub!("{#{p[:name]}}", example.send(p[:name]).to_s) } t.concat(build_query_string(example)) diff --git a/rswag-specs/lib/rswag/specs/swagger_formatter.rb b/rswag-specs/lib/rswag/specs/swagger_formatter.rb index 11359c1..9d941dc 100644 --- a/rswag-specs/lib/rswag/specs/swagger_formatter.rb +++ b/rswag-specs/lib/rswag/specs/swagger_formatter.rb @@ -56,7 +56,7 @@ module Rswag { paths: { - metadata[:path] => { + metadata[:path_item][:template] => { verb => operation } } diff --git a/rswag-specs/spec/rswag/specs/example_group_helpers_spec.rb b/rswag-specs/spec/rswag/specs/example_group_helpers_spec.rb index 15ed51c..d5ce7d7 100644 --- a/rswag-specs/spec/rswag/specs/example_group_helpers_spec.rb +++ b/rswag-specs/spec/rswag/specs/example_group_helpers_spec.rb @@ -19,7 +19,7 @@ module Rswag it "delegates to 'describe' with 'path' metadata" do expect(subject).to have_received(:describe).with( - '/blogs', path: '/blogs' + '/blogs', path_item: { template: '/blogs' } ) end end diff --git a/rswag-specs/spec/rswag/specs/example_helpers_spec.rb b/rswag-specs/spec/rswag/specs/example_helpers_spec.rb index cb541df..f76d023 100644 --- a/rswag-specs/spec/rswag/specs/example_helpers_spec.rb +++ b/rswag-specs/spec/rswag/specs/example_helpers_spec.rb @@ -16,7 +16,7 @@ module Rswag end let(:api_metadata) do { - path: '/blogs/{blog_id}/comments/{id}', + path_item: { template: '/blogs/{blog_id}/comments/{id}' }, operation: { verb: :put, summary: 'Updates a blog', diff --git a/rswag-specs/spec/rswag/specs/request_factory_spec.rb b/rswag-specs/spec/rswag/specs/request_factory_spec.rb index 40799f4..98556c6 100644 --- a/rswag-specs/spec/rswag/specs/request_factory_spec.rb +++ b/rswag-specs/spec/rswag/specs/request_factory_spec.rb @@ -12,7 +12,7 @@ module Rswag end let(:api_metadata) do { - path: '/blogs/{blog_id}/comments/{id}', + path_item: { template: '/blogs/{blog_id}/comments/{id}' }, operation: { verb: :put, summary: 'Updates a blog', diff --git a/rswag-specs/spec/rswag/specs/swagger_formatter_spec.rb b/rswag-specs/spec/rswag/specs/swagger_formatter_spec.rb index 93afc71..f904fa5 100644 --- a/rswag-specs/spec/rswag/specs/swagger_formatter_spec.rb +++ b/rswag-specs/spec/rswag/specs/swagger_formatter_spec.rb @@ -24,7 +24,7 @@ module Rswag let(:notification) { OpenStruct.new(group: OpenStruct.new(metadata: api_metadata)) } let(:api_metadata) do { - path: '/blogs', + path_item: { template: '/blogs' }, operation: { verb: :post, summary: 'Creates a blog' }, response: { code: '201', description: 'blog created' } }