Class: Rswag::Helpers::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/rswag/helpers/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_base_schemaObject



15
16
17
# File 'lib/generators/rswag/helpers/install/install_generator.rb', line 15

def add_base_schema
  template('schemas/base.rb', 'spec/schemas/base.rb')
end

#create_schemas_dirObject



11
12
13
# File 'lib/generators/rswag/helpers/install/install_generator.rb', line 11

def create_schemas_dir
  FileUtils.mkdir_p 'spec/schemas'
end

#require_schema_from_swagger_helper_fileObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/generators/rswag/helpers/install/install_generator.rb', line 19

def require_schema_from_swagger_helper_file
  inject_into_file 'spec/swagger_helper.rb', after: "require 'rails_helper'" do
    <<~HEREDOC
      \n
      require_relative 'schemas/base'
      # Change to :api_key/:http_basic in case those are being used
      # Can also provide multiple defaults like: [:bearer_jwt, :api_key]
      # Can provide custom security scheme like: Rswag::Helpers::SecurityScheme.additional = { accept: {...}}
      Rswag::Helpers::SecurityScheme.defaults = :bearer_jwt

      # PLEASE MAKE THE CHANGE in the swagger_docs config below:
      # securitySchemes: Rswag::Helpers::SecurityScheme.get
      # security: Rswag::Helpers::SecurityScheme.security
    HEREDOC
  end
end