oas_parser 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b542298212e473e6e3755b64dd589b0f05560a2a
4
- data.tar.gz: 6aa7f82d7b7f27e5c081e2065069eaf8eae87e54
3
+ metadata.gz: e23a282d082e25eaa924c99c5c712d5dea421c10
4
+ data.tar.gz: 843d323be359ce6d6f93fb7f131cfb8a0e0a06b9
5
5
  SHA512:
6
- metadata.gz: 69ead6e49ac5f4b04e5f08da9dafd2efa7db52b6b48615ca0b8156e622224128587211ea686a38ea1817947d0bb4c1b3a3a059f765507a5ca7c03aa327a5fb83
7
- data.tar.gz: 0f078a359f3b24a1db0e6355f994b095eceb33fb3ba70f6d7deab890af963182a9d1b3fd052b80369632c9c353b998902f40d4910300fd457c0cde1f7d6063cb
6
+ metadata.gz: 22fd955e2530e087f31d47a31ce42d13f14b7315d2f75815e8330d2756cd1b53e87cca4c4dbf34a598e8dff3ea0087aebc6b7aa4d38f63f5ec765ef9952af1f0
7
+ data.tar.gz: 1de8809dc639360474c0784af4072ae55a4a1155c28d929b4f8298368c4502b7ef4a6daa4b2e6c9631ddada0478593d538e26f5060eaf54245d5b863e3bc2941
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oas_parser (0.6.0)
4
+ oas_parser (0.7.0)
5
5
  activesupport (~> 5.1.2)
6
6
  addressable (~> 2.3)
7
7
  builder (~> 3.2.3)
@@ -55,7 +55,7 @@ GEM
55
55
  mini_portile2 (2.3.0)
56
56
  minitest (5.11.3)
57
57
  nenv (0.3.0)
58
- nokogiri (1.8.1)
58
+ nokogiri (1.8.2)
59
59
  mini_portile2 (~> 2.3.0)
60
60
  notiffany (0.1.1)
61
61
  nenv (~> 0.1)
@@ -16,7 +16,7 @@ module OasParser
16
16
  end
17
17
 
18
18
  def parameters
19
- local_parameters + path.parameters
19
+ security_schema_parameters + local_parameters + path.parameters
20
20
  end
21
21
 
22
22
  def path_parameters
@@ -27,6 +27,23 @@ module OasParser
27
27
  parameters.select { |parameter| parameter.in == 'query' }
28
28
  end
29
29
 
30
+ def security_schema_parameters
31
+ raw_security_schema_parameters = security_schemes.select do |security_schema|
32
+ security_schema['in'].present? && security_schema['in'].present?
33
+ end
34
+
35
+ security_schema_parameter_defaults = {
36
+ 'type' => 'string',
37
+ 'example' => 'abc123',
38
+ 'default' => false,
39
+ }
40
+
41
+ raw_security_schema_parameters.map do |definition|
42
+ definition = security_schema_parameter_defaults.merge(definition)
43
+ OasParser::Parameter.new(self, definition)
44
+ end
45
+ end
46
+
30
47
  def parameter_by_name(name)
31
48
  parameters.each do |parameter|
32
49
  return parameter if parameter.name == name
@@ -80,7 +97,13 @@ module OasParser
80
97
  end
81
98
 
82
99
  def security_schemes
83
- security_schemes = (security.flat_map(&:keys) + definition.security.flat_map(&:keys)).uniq
100
+ security_schemes = security.flat_map(&:keys)
101
+
102
+ if definition
103
+ security_schemes = security_schemes + definition.security.flat_map(&:keys)
104
+ end
105
+
106
+ security_schemes = security_schemes.uniq
84
107
 
85
108
  security_schemes.map do |security_scheme_name|
86
109
  definition.components['securitySchemes'][security_scheme_name]
@@ -12,11 +12,11 @@ module OasParser
12
12
  end
13
13
 
14
14
  def type
15
- raw['type'] || schema['type']
15
+ raw['type'] || (schema ? schema['type'] : nil)
16
16
  end
17
17
 
18
18
  def format
19
- raw['format'] || schema['format']
19
+ raw['format'] || (schema ? schema['format'] : nil)
20
20
  end
21
21
 
22
22
  def array?
@@ -36,11 +36,11 @@ module OasParser
36
36
  end
37
37
 
38
38
  def example
39
- raw['example'] || schema['example']
39
+ raw['example'] || (schema ? schema['example'] : nil)
40
40
  end
41
41
 
42
42
  def default
43
- raw['default'] || schema['default']
43
+ raw['default'] || (schema ? schema['default'] : nil)
44
44
  end
45
45
 
46
46
  def properties
@@ -1,3 +1,3 @@
1
1
  module OasParser
2
- VERSION = '0.6.0'.freeze
2
+ VERSION = '0.7.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oas_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Butler
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-01-29 00:00:00.000000000 Z
11
+ date: 2018-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable