Sha256: b3390d974add69b20fa8a90b82af6108d7c38171390a429dabb018d229fe8abd

Contents?: true

Size: 728 Bytes

Versions: 24

Compression:

Stored size: 728 Bytes

Contents

require_relative './oas_parser'

module Nexmo
  module OAS
    module Renderer
      class OpenApiDefinitionResolver
        def self.find(name)
          path = paths(name).detect do |p|
            break p if File.file? p
          end

          return resolve(path) if path

          raise "Could not find definition '#{name}' in '#{API.oas_path}'"
        end

        def self.paths(name)
          ['json', 'yaml', 'yml'].map do |format|
            path(name, format)
          end
        end

        def self.path(name, format)
          "#{API.oas_path}/definitions/#{name}.#{format}"
        end

        def self.resolve(path)
          OasParser::Definition.resolve(path)
        end
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
nexmo-oas-renderer-0.6.2 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.6.1 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.5.6 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.5.5 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.5.4 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.5.2 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.5.1 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.5.0 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.4.1 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.4.0 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.3.7 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.3.6 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.3.5 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.3.4 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.3.3 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.3.2 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.3.1 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.3.0 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.2.2 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb
nexmo-oas-renderer-0.2.1 lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb