From 032ad5dc542b0b050064689a7238bc95e1c96e14 Mon Sep 17 00:00:00 2001 From: Jay Danielian Date: Thu, 1 Aug 2019 09:10:38 -0400 Subject: [PATCH] Fixes last little pathing mistakes from rename All specs are passing in all gems and in test-app Properly generates open api 3 swagger via rake rswag:specs:swaggerize and via bundle exec rspec in test-app dir --- .../lib/open_api/rswag/api/configuration.rb | 16 +++++++++------- rswag-api/lib/open_api/rswag/api/engine.rb | 14 ++++++++------ .../open_api/rswag/specs/response_validator.rb | 2 +- rswag-specs/lib/tasks/rswag-specs_tasks.rake | 4 ++-- rswag-ui/lib/open_api/rswag/ui/engine.rb | 2 +- test-app/config/initializers/rswag-api.rb | 2 +- test-app/config/initializers/rswag-ui.rb | 2 +- test-app/config/routes.rb | 4 ++-- 8 files changed, 25 insertions(+), 21 deletions(-) diff --git a/rswag-api/lib/open_api/rswag/api/configuration.rb b/rswag-api/lib/open_api/rswag/api/configuration.rb index c84cdf8..eae3987 100644 --- a/rswag-api/lib/open_api/rswag/api/configuration.rb +++ b/rswag-api/lib/open_api/rswag/api/configuration.rb @@ -1,11 +1,13 @@ -module OpenApi::Rswag - module Api - class Configuration - attr_accessor :swagger_root, :swagger_filter +module OpenApi + module Rswag + module Api + class Configuration + attr_accessor :swagger_root, :swagger_filter - def resolve_swagger_root(env) - path_params = env['action_dispatch.request.path_parameters'] || {} - path_params[:swagger_root] || swagger_root + def resolve_swagger_root(env) + path_params = env['action_dispatch.request.path_parameters'] || {} + path_params[:swagger_root] || swagger_root + end end end end diff --git a/rswag-api/lib/open_api/rswag/api/engine.rb b/rswag-api/lib/open_api/rswag/api/engine.rb index 6a996ca..9e7f524 100644 --- a/rswag-api/lib/open_api/rswag/api/engine.rb +++ b/rswag-api/lib/open_api/rswag/api/engine.rb @@ -1,12 +1,14 @@ require 'open_api/rswag/api/middleware' -module OpenApi::Rswag - module Api - class Engine < ::Rails::Engine - isolate_namespace Rswag::Api +module OpenApi + module Rswag + module Api + class Engine < ::Rails::Engine + isolate_namespace OpenApi::Rswag::Api - initializer 'rswag-api.initialize' do |app| - middleware.use Rswag::Api::Middleware, Rswag::Api.config + initializer 'rswag-api.initialize' do |app| + middleware.use OpenApi::Rswag::Api::Middleware, OpenApi::Rswag::Api.config + end end end end diff --git a/rswag-specs/lib/open_api/rswag/specs/response_validator.rb b/rswag-specs/lib/open_api/rswag/specs/response_validator.rb index 85da237..5a96b28 100644 --- a/rswag-specs/lib/open_api/rswag/specs/response_validator.rb +++ b/rswag-specs/lib/open_api/rswag/specs/response_validator.rb @@ -41,7 +41,7 @@ module OpenApi def validate_body!(metadata, swagger_doc, body) test_schemas = extract_schemas(metadata) - return if test_schemas.nil? + return if test_schemas.nil? || test_schemas.empty? components = swagger_doc[:components] || {} components_schemas = { components: { schemas: components[:schemas] } } diff --git a/rswag-specs/lib/tasks/rswag-specs_tasks.rake b/rswag-specs/lib/tasks/rswag-specs_tasks.rake index f400bb6..573dd5b 100644 --- a/rswag-specs/lib/tasks/rswag-specs_tasks.rake +++ b/rswag-specs/lib/tasks/rswag-specs_tasks.rake @@ -9,9 +9,9 @@ namespace :rswag do # NOTE: rspec 2.x support if OpenApi::Rswag::Specs::RSPEC_VERSION > 2 && OpenApi::Rswag::Specs.config.swagger_dry_run - t.rspec_opts = [ '--format Rswag::Specs::SwaggerFormatter', '--dry-run', '--order defined' ] + t.rspec_opts = [ '--format OpenApi::Rswag::Specs::SwaggerFormatter', '--dry-run', '--order defined' ] else - t.rspec_opts = [ '--format Rswag::Specs::SwaggerFormatter', '--order defined' ] + t.rspec_opts = [ '--format OpenApi::Rswag::Specs::SwaggerFormatter', '--order defined' ] end end end diff --git a/rswag-ui/lib/open_api/rswag/ui/engine.rb b/rswag-ui/lib/open_api/rswag/ui/engine.rb index 16da05e..c47fec6 100644 --- a/rswag-ui/lib/open_api/rswag/ui/engine.rb +++ b/rswag-ui/lib/open_api/rswag/ui/engine.rb @@ -11,7 +11,7 @@ module OpenApi end rake_tasks do - load File.expand_path('../../../tasks/rswag-ui_tasks.rake', __FILE__) + load File.expand_path('../../../../tasks/rswag-ui_tasks.rake', __FILE__) end end end diff --git a/test-app/config/initializers/rswag-api.rb b/test-app/config/initializers/rswag-api.rb index 5f3ddc4..28d4297 100644 --- a/test-app/config/initializers/rswag-api.rb +++ b/test-app/config/initializers/rswag-api.rb @@ -1,4 +1,4 @@ -Rswag::Api.configure do |c| +OpenApi::Rswag::Api.configure do |c| # Specify a root folder where Swagger JSON files are located # This is used by the Swagger middleware to serve requests for API descriptions diff --git a/test-app/config/initializers/rswag-ui.rb b/test-app/config/initializers/rswag-ui.rb index 084a512..2fa7986 100644 --- a/test-app/config/initializers/rswag-ui.rb +++ b/test-app/config/initializers/rswag-ui.rb @@ -1,4 +1,4 @@ -Rswag::Ui.configure do |c| +OpenApi::Rswag::Ui.configure do |c| # List the Swagger endpoints that you want to be documented through the swagger-ui # The first parameter is the path (absolute or relative to the UI host) to the corresponding diff --git a/test-app/config/routes.rb b/test-app/config/routes.rb index e1fb12d..90dddea 100644 --- a/test-app/config/routes.rb +++ b/test-app/config/routes.rb @@ -9,6 +9,6 @@ TestApp::Application.routes.draw do post 'auth-tests/api-key', to: 'auth_tests#api_key' post 'auth-tests/basic-and-api-key', to: 'auth_tests#basic_and_api_key' - mount Rswag::Api::Engine => 'api-docs' - mount Rswag::Ui::Engine => 'api-docs' + mount OpenApi::Rswag::Api::Engine => 'api-docs' + mount OpenApi::Rswag::Ui::Engine => 'api-docs' end