Class: OasParser::Definition

Inherits:
Object
  • Object
show all
Includes:
RawAccessor
Defined in:
lib/oas_parser/definition.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from RawAccessor

included, #method_missing, #respond_to_missing?

Constructor Details

#initialize(raw) ⇒ Definition

Returns a new instance of Definition.



13
14
15
# File 'lib/oas_parser/definition.rb', line 13

def initialize(raw)
  @raw = raw
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class OasParser::RawAccessor

Instance Attribute Details

#rawObject

Returns the value of attribute raw.



6
7
8
# File 'lib/oas_parser/definition.rb', line 6

def raw
  @raw
end

Class Method Details

.resolve(path) ⇒ Object



8
9
10
11
# File 'lib/oas_parser/definition.rb', line 8

def self.resolve(path)
  raw = Parser.resolve(path)
  Definition.new(raw)
end

Instance Method Details

#endpointsObject



33
34
35
# File 'lib/oas_parser/definition.rb', line 33

def endpoints
  paths.flat_map(&:endpoints)
end

#path_by_path(path) ⇒ Object

Raises:

  • (StandardError)


23
24
25
26
27
# File 'lib/oas_parser/definition.rb', line 23

def path_by_path(path)
  definition = raw['paths'][path]
  raise StandardError.new('So such path exists') unless definition
  OasParser::Path.new(self, path, definition)
end

#pathsObject



17
18
19
20
21
# File 'lib/oas_parser/definition.rb', line 17

def paths
  raw['paths'].map do |path, definition|
    OasParser::Path.new(self, path, definition)
  end
end

#securityObject



29
30
31
# File 'lib/oas_parser/definition.rb', line 29

def security
  raw['security'] || []
end