Class: OpenApiDefinitionResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/nexmo_developer/app/services/open_api_definition_resolver.rb

Class Method Summary collapse

Class Method Details

.find(name) ⇒ Object



2
3
4
5
6
7
8
9
10
# File 'lib/nexmo_developer/app/services/open_api_definition_resolver.rb', line 2

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}'"
end

.path(name, format) ⇒ Object



18
19
20
# File 'lib/nexmo_developer/app/services/open_api_definition_resolver.rb', line 18

def self.path(name, format)
  "#{Rails.configuration.docs_base_path}/_open_api/api_specs/definitions/#{name}.#{format}"
end

.paths(name) ⇒ Object



12
13
14
15
16
# File 'lib/nexmo_developer/app/services/open_api_definition_resolver.rb', line 12

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

.resolve(path) ⇒ Object



22
23
24
# File 'lib/nexmo_developer/app/services/open_api_definition_resolver.rb', line 22

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