Class: OpenapiContracts::Doc::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi_contracts/doc/parser.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dir) ⇒ Parser

Returns a new instance of Parser.



7
8
9
# File 'lib/openapi_contracts/doc/parser.rb', line 7

def initialize(dir)
  @dir = dir
end

Class Method Details

.call(dir) ⇒ Object



3
4
5
# File 'lib/openapi_contracts/doc/parser.rb', line 3

def self.call(dir)
  new(dir).parse('openapi.yaml')
end

Instance Method Details

#parse(path = 'openapi.yaml') ⇒ Object



11
12
13
14
15
16
# File 'lib/openapi_contracts/doc/parser.rb', line 11

def parse(path = 'openapi.yaml')
  abs_path = @dir.join(path)
  yaml = File.read(abs_path)
  data = YAML.safe_load(yaml)
  join_components(abs_path.dirname, data)
end