oas_parser 0.17.0 → 0.18.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
  SHA256:
3
- metadata.gz: 93b6c3c3723b36ea92dde86e6e3976f4ad0975b057e7ee9c1d7012cf345ad2a5
4
- data.tar.gz: ab537a659bb0ed1ac55e3a4c8c661d3d1810b4a906f18a84750b50da87cccf93
3
+ metadata.gz: af21e3945bcd537a9606bff192aed9cf48d8b0b18ff878f268bc416af4a3480d
4
+ data.tar.gz: 0a200ba60fbd11885a4bd6bc50daa6a970222da2eaac9253f5f1225e37beec27
5
5
  SHA512:
6
- metadata.gz: 4a6b6021fdf53af17e56d2b14a54e60dab00df1d6419ddb3ea45a1811d3ebe0b6e312f4ab4bce0e31492cec7900a43fa894f7efca26f21d4324fb40595f9bd35
7
- data.tar.gz: 0acf4f364f02fbd1b53093a127f1186a0012cf6de3ed35ceae67d2aaf9bb0897dffe161545cd88432710dfc9d189c192ea3128269dddaa3db881fb1eea03acb9
6
+ metadata.gz: e135ca6bf6a65fddf2c5bef4d0f802350fec90385af5d39b4e551b316a26f03362cad6c3a2fdcd9d0f63121f1367550b129cc385c1115f3c0b0dc45fcf149f36
7
+ data.tar.gz: 8c5b6cd7ba282839ff8e62125cee6ad16371c80849c29e3dbd6e781e123e1d1f057aef81293f00086acbbaafb0499d592835960f42175e92706760d2b1d5f2e7
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oas_parser (0.17.0)
4
+ oas_parser (0.18.0)
5
5
  activesupport (>= 4.0.0)
6
6
  addressable (~> 2.3)
7
7
  builder (~> 3.2.3)
@@ -29,14 +29,15 @@ module OasParser
29
29
  end
30
30
 
31
31
  def path_by_path(path)
32
- definition = raw['paths'].fetch(path) do |path|
33
- key = raw['paths'].keys.detect do |path_entry|
34
- Mustermann::Template.new(path_entry).match(path)
35
- end
36
- raw['paths'][key]
32
+ definition = raw['paths'][path]
33
+ return OasParser::Path.new(self, path, definition) if definition
34
+
35
+ key = raw['paths'].keys.detect do |path_entry|
36
+ Mustermann::Template.new(path_entry).match(path)
37
37
  end
38
+ definition = raw['paths'][key]
38
39
  raise OasParser::PathNotFound.new("Path not found: '#{path}'") unless definition
39
- OasParser::Path.new(self, path, definition)
40
+ OasParser::Path.new(self, key, definition)
40
41
  end
41
42
 
42
43
  def security
@@ -63,8 +63,9 @@ module OasParser
63
63
  end
64
64
  end
65
65
 
66
- def response_by_code(code)
66
+ def response_by_code(code, use_default: false)
67
67
  definition = raw['responses'][code]
68
+ definition ||= raw['responses']['default'] if use_default
68
69
  raise OasParser::ResponseCodeNotFound.new("Response code not found: '#{code}'") unless definition
69
70
  OasParser::Response.new(self, code, definition)
70
71
  end
@@ -1,3 +1,3 @@
1
1
  module OasParser
2
- VERSION = '0.17.0'.freeze
2
+ VERSION = '0.18.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.17.0
4
+ version: 0.18.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: 2019-03-04 00:00:00.000000000 Z
11
+ date: 2019-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable