Sha256: 52d47c9530556f05a3f6629322070db940f18f541154cf786e0a44c165af5142

Contents?: true

Size: 1.28 KB

Versions: 7

Compression:

Stored size: 1.28 KB

Contents

require 'ostruct'
require 'rack'

module Rswag
  module Ui
    class Configuration
      attr_reader :template_locations
      attr_accessor :basic_auth_enabled
      attr_accessor :config_object
      attr_accessor :oauth_config_object
      attr_reader :assets_root

      def initialize
        @template_locations = [
          # preferred override location
          "#{Rack::Directory.new('').root}/swagger/index.erb",
          # backwards compatible override location
          "#{Rack::Directory.new('').root}/app/views/rswag/ui/home/index.html.erb",
          # default location
          File.expand_path('../index.erb', __FILE__)
        ]
        @assets_root = File.expand_path('../../../../node_modules/swagger-ui-dist', __FILE__)
        @config_object = {}
        @oauth_config_object = {}
        @basic_auth_enabled = false
      end

      def swagger_endpoint(url, name)
        @config_object[:urls] ||= []
        @config_object[:urls] << { url: url, name: name }
      end

      def basic_auth_credentials(username, password)
        @config_object[:basic_auth] = { username: username, password: password }
      end

      # rubocop:disable Naming/AccessorMethodName
      def get_binding
        binding
      end
      # rubocop:enable Naming/AccessorMethodName
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rswag-ui-2.11.0 lib/rswag/ui/configuration.rb
rswag-ui-2.10.1 lib/rswag/ui/configuration.rb
rswag-ui-2.10.0 lib/rswag/ui/configuration.rb
rswag-ui-2.9.0 lib/rswag/ui/configuration.rb
rswag-ui-2.8.0 lib/rswag/ui/configuration.rb
rswag-ui-2.7.0 lib/rswag/ui/configuration.rb
rswag-ui-2.6.0 lib/rswag/ui/configuration.rb