Sha256: 9aa97df04c29ab68b9f41b47b7bf180bef30845513000fdd055b101d73212dec

Contents?: true

Size: 1.83 KB

Versions: 21

Compression:

Stored size: 1.83 KB

Contents

class Swagalicious
  class ConfigurationError < StandardError; end

  class Configuration
    def initialize(rspec_config)
      @rspec_config = rspec_config
    end

    def swagger_root
      @swagger_root ||= begin
                          if @rspec_config.swagger_root.nil?
                            raise ConfigurationError, "No swagger_root provided. See swagger_helper.rb"
                          end
                          @rspec_config.swagger_root
                        end
    end

    def swagger_docs
      @swagger_docs ||= begin
                          if @rspec_config.swagger_docs.nil? || @rspec_config.swagger_docs.empty?
                            raise ConfigurationError, "No swagger_docs defined. See swagger_helper.rb"
                          end
                          @rspec_config.swagger_docs
                        end
    end

    def swagger_dry_run
      @swagger_dry_run ||= begin
                             @rspec_config.swagger_dry_run.nil? || @rspec_config.swagger_dry_run
                           end
    end

    def swagger_format
      @swagger_format ||= begin
                            @rspec_config.swagger_format = :json if @rspec_config.swagger_format.nil? || @rspec_config.swagger_format.empty?
                            raise ConfigurationError, "Unknown swagger_format '#{@rspec_config.swagger_format}'" unless [:json, :yaml].include?(@rspec_config.swagger_format)
                            @rspec_config.swagger_format
                          end
    end

    def get_swagger_doc(name)
      return swagger_docs.values.first if name.nil?
      raise ConfigurationError, "Unknown swagger_doc '#{name}'" unless swagger_docs[name]

      swagger_docs[name]
    end

    def get_swagger_doc_version(name)
      doc = get_swagger_doc(name)
      doc[:openapi] || doc[:swagger]
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
swagalicious-1.1.2 lib/swagalicious/configuration.rb
swagalicious-1.1.1 lib/swagalicious/configuration.rb
swagalicious-1.1.0 lib/swagalicious/configuration.rb
swagalicious-1.0.0 lib/swagalicious/configuration.rb
swagalicious-0.5.3 lib/swagalicious/configuration.rb
swagalicious-0.5.2 lib/swagalicious/configuration.rb
swagalicious-0.5.1 lib/swagalicious/configuration.rb
swagalicious-0.5.0 lib/swagalicious/configuration.rb
swagalicious-0.4.9 lib/swagalicious/configuration.rb
swagalicious-0.4.8 lib/swagalicious/configuration.rb
swagalicious-0.4.7 lib/swagalicious/configuration.rb
swagalicious-0.4.6 lib/swagalicious/configuration.rb
swagalicious-0.4.5 lib/swagalicious/configuration.rb
swagalicious-0.4.4 lib/swagalicious/configuration.rb
swagalicious-0.4.3 lib/swagalicious/configuration.rb
swagalicious-0.4.2 lib/swagalicious/configuration.rb
swagalicious-0.4.1 lib/swagalicious/configuration.rb
swagalicious-0.4.0 lib/swagalicious/configuration.rb
swagalicious-0.3.1 lib/swagalicious/configuration.rb
swagalicious-0.3.0 lib/swagalicious/configuration.rb