Class: OasParser::Endpoint
- Inherits:
-
Object
- Object
- OasParser::Endpoint
show all
- Includes:
- RawAccessor
- Defined in:
- lib/oas_parser/endpoint.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
included, #method_missing, #respond_to_missing?
Constructor Details
#initialize(path, method, raw) ⇒ Endpoint
Returns a new instance of Endpoint.
8
9
10
11
12
|
# File 'lib/oas_parser/endpoint.rb', line 8
def initialize(path, method, raw)
@path = path
@method = method
@raw = raw
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class OasParser::RawAccessor
Instance Attribute Details
#method ⇒ Object
Returns the value of attribute method.
6
7
8
|
# File 'lib/oas_parser/endpoint.rb', line 6
def method
@method
end
|
#path ⇒ Object
Returns the value of attribute path.
6
7
8
|
# File 'lib/oas_parser/endpoint.rb', line 6
def path
@path
end
|
#raw ⇒ Object
Returns the value of attribute raw.
6
7
8
|
# File 'lib/oas_parser/endpoint.rb', line 6
def raw
@raw
end
|
Instance Method Details
#callback_by_name(name) ⇒ Object
66
67
68
69
70
|
# File 'lib/oas_parser/endpoint.rb', line 66
def callback_by_name(name)
definition = raw['callbacks'][name]
raise StandardError.new('So such callback exists') unless definition
OasParser::Callback.new(self, name, definition)
end
|
#callbacks ⇒ Object
59
60
61
62
63
64
|
# File 'lib/oas_parser/endpoint.rb', line 59
def callbacks
return [] unless raw['callbacks']
raw['callbacks'].map do |name, definition|
OasParser::Callback.new(self, name, definition)
end
end
|
#definition ⇒ Object
14
15
16
|
# File 'lib/oas_parser/endpoint.rb', line 14
def definition
path.definition
end
|
#jwt? ⇒ Boolean
72
73
74
75
76
77
78
79
80
|
# File 'lib/oas_parser/endpoint.rb', line 72
def jwt?
return false unless security
security_schemes.each do |security_schema|
return true if security_schema['bearerFormat'] == 'JWT'
end
false
end
|
#parameter_by_name(name) ⇒ Object
30
31
32
33
34
35
36
|
# File 'lib/oas_parser/endpoint.rb', line 30
def parameter_by_name(name)
parameters.each do |parameter|
return parameter if parameter.name == name
end
raise StandardError.new('So such parameter exists')
end
|
#parameters ⇒ Object
18
19
20
|
# File 'lib/oas_parser/endpoint.rb', line 18
def parameters
local_parameters + path.parameters
end
|
#path_parameters ⇒ Object
22
23
24
|
# File 'lib/oas_parser/endpoint.rb', line 22
def path_parameters
parameters.select { |parameter| parameter.in == 'path' }
end
|
#query_parameters ⇒ Object
26
27
28
|
# File 'lib/oas_parser/endpoint.rb', line 26
def query_parameters
parameters.select { |parameter| parameter.in == 'query' }
end
|
#request_body ⇒ Object
38
39
40
41
|
# File 'lib/oas_parser/endpoint.rb', line 38
def request_body
return false unless raw['requestBody']
OasParser::RequestBody.new(self, raw['requestBody'])
end
|
#response_by_code(code) ⇒ Object
49
50
51
52
53
|
# File 'lib/oas_parser/endpoint.rb', line 49
def response_by_code(code)
definition = raw['responses'][code]
raise StandardError.new('So such response exists') unless definition
OasParser::Response.new(self, code, definition)
end
|
#responses ⇒ Object
43
44
45
46
47
|
# File 'lib/oas_parser/endpoint.rb', line 43
def responses
raw['responses'].map do |code, definition|
OasParser::Response.new(self, code, definition)
end
end
|
#security ⇒ Object
55
56
57
|
# File 'lib/oas_parser/endpoint.rb', line 55
def security
raw['security'] || []
end
|
#security_schemes ⇒ Object
82
83
84
85
86
87
88
|
# File 'lib/oas_parser/endpoint.rb', line 82
def security_schemes
security_schemes = (security.flat_map(&:keys) + definition.security.flat_map(&:keys)).uniq
security_schemes.map do |security_scheme_name|
definition.components['securitySchemes'][security_scheme_name]
end
end
|