swagalicious 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: abb72dfd425ef772e7d2c0cf1ac1079d60cf9d6310b790dc9eef4454e145d7dd
4
- data.tar.gz: 3c919667c104eba4d2e01d4177e68e4bcc5d57a8a0d33ee02b9fcfa79d3cf899
3
+ metadata.gz: b4547f3c049b8fa0f79ef3f4619497942ffcdd6d10c4f84212fcba0a88ef5986
4
+ data.tar.gz: a3c03a1bc18b309c315fa7e6d6fca75297b8f8cd8c6c3fbfe58fa4fa25a31666
5
5
  SHA512:
6
- metadata.gz: 12939af351eaebed0316bff2af98b58fcf7f39041311920bab9338f163e5dc06d2575148fedcb22ab92581f91b9f9d8e28dbffb0bef60cc97faccc2a97bf9718
7
- data.tar.gz: 8003706edc0671b7cce79a72d9098827de9d114b0d42502684ea980bf4ee22deab1a998603710a82a55321fa0c318b42414d7f047ae5a2028214ae2a8354a647
6
+ metadata.gz: 83bb5faf771075d0043d18e9221eab2c8be2c206d5002224a987167be39715838962629a62ca7b316509dc551966415bcf66caa2a7db9207b094a9db44488cd7
7
+ data.tar.gz: b30f7466d1f0c17b6e734d6453a2768310d742fcbec1aa65783acf04bb222ac3270c6a16f58abe366613bc1d8654f10866bc9bc59f0a87ce1c40f078077be2a1
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- swagalicious (1.0.0)
4
+ swagalicious (1.1.0)
5
5
  faraday (~> 2.0)
6
6
  faraday-rack
7
7
  json-schema
8
8
  oj (~> 3.11.0)
9
9
  ox (~> 2.14.14)
10
- rack-test (~> 2.0.2)
10
+ rack-test
11
11
  rspec (~> 3)
12
12
 
13
13
  GEM
@@ -19,7 +19,7 @@ GEM
19
19
  minitest (>= 5.1)
20
20
  tzinfo (~> 2.0)
21
21
  zeitwerk (~> 2.3)
22
- addressable (2.8.1)
22
+ addressable (2.8.5)
23
23
  public_suffix (>= 2.0.2, < 6.0)
24
24
  ast (2.4.2)
25
25
  byebug (11.1.3)
@@ -28,7 +28,7 @@ GEM
28
28
  diff-lcs (1.5.0)
29
29
  factory_bot (6.1.0)
30
30
  activesupport (>= 5.0.0)
31
- faraday (2.7.3)
31
+ faraday (2.7.10)
32
32
  faraday-net_http (>= 2.0, < 3.1)
33
33
  ruby2_keywords (>= 0.0.4)
34
34
  faraday-net_http (3.0.2)
@@ -37,7 +37,7 @@ GEM
37
37
  i18n (1.10.0)
38
38
  concurrent-ruby (~> 1.0)
39
39
  json (2.6.3)
40
- json-schema (3.0.0)
40
+ json-schema (4.0.0)
41
41
  addressable (>= 2.8)
42
42
  method_source (1.0.0)
43
43
  minitest (5.16.1)
@@ -52,9 +52,9 @@ GEM
52
52
  pry-byebug (3.9.0)
53
53
  byebug (~> 11.0)
54
54
  pry (~> 0.13.0)
55
- public_suffix (5.0.1)
55
+ public_suffix (5.0.3)
56
56
  rack (3.0.4.1)
57
- rack-test (2.0.2)
57
+ rack-test (2.1.0)
58
58
  rack (>= 1.3)
59
59
  rainbow (3.1.1)
60
60
  rake (12.3.3)
@@ -100,7 +100,7 @@ class Swagalicious
100
100
  (YAML.load(self.body) || {}).with_indifferent_access
101
101
  when /xml/
102
102
  (Ox.load(self.body, mode: :hash_no_attrs) || {}).with_indifferent_access
103
- when "", nil
103
+ when "", nil, /html/
104
104
  self.body
105
105
  else
106
106
  return unless raise_on_invalid
@@ -35,11 +35,11 @@ class Swagalicious
35
35
 
36
36
  def derive_security_params(metadata, swagger_doc)
37
37
  requirements = metadata[:operation][:security] || swagger_doc[:security] || []
38
- scheme_names = requirements.flat_map(&:keys)
38
+ scheme_names = requirements.flat_map { |r| r.has_key?(:type) ? r[:type] : r.keys }
39
39
  schemes = security_version(scheme_names, swagger_doc)
40
40
 
41
41
  schemes.map do |scheme|
42
- param = (scheme[:type] == :apiKey) ? scheme.slice(:name, :in, :required) : { name: "Authorization", in: :header }
42
+ param = (scheme[:type] == :apiKey) ? scheme.slice(:name, :in, :required, :force_name) : { name: "Authorization", in: :header }
43
43
  param.merge(required: requirements.one?) unless param.has_key?(:required)
44
44
  param.merge(type: :string)
45
45
  end
@@ -127,7 +127,7 @@ class Swagalicious
127
127
  .map do |p|
128
128
  variable_name = p[:variable_name] || p[:name]
129
129
 
130
- [p[:name], example.send(variable_name).to_s]
130
+ [p[:name], example.send(variable_name).to_s, p[:force_name]]
131
131
  end
132
132
 
133
133
  # Accept header
@@ -145,15 +145,16 @@ class Swagalicious
145
145
  end
146
146
 
147
147
  # Rails test infrastructure requires rackified headers
148
- rackified_tuples = tuples.map do |pair|
148
+ rackified_tuples = tuples.map do |tuple|
149
149
  [
150
- case pair[0]
150
+ case tuple[0]
151
151
  when "Accept" then "HTTP_ACCEPT"
152
152
  when "Content-Type" then "CONTENT_TYPE"
153
- when "Authorization" then "HTTP_AUTHORIZATION"
154
- else pair[0]
153
+ when "Authorization"
154
+ tuple[2] ? tuple[0] : "HTTP_AUTHORIZATION"
155
+ else tuple[0]
155
156
  end,
156
- pair[1]
157
+ tuple[1]
157
158
  ]
158
159
  end
159
160
 
@@ -1,3 +1,3 @@
1
1
  class Swagalicious
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.1"
3
3
  end
data/swagalicious.gemspec CHANGED
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "json-schema"
30
30
  spec.add_dependency "oj", "~> 3.11.0"
31
31
  spec.add_dependency "ox", "~> 2.14.14"
32
- spec.add_dependency "rack-test", "~> 2.0.2"
32
+ spec.add_dependency "rack-test"
33
33
  spec.add_dependency "rspec", "~> 3"
34
34
 
35
35
  spec.add_development_dependency "rubocop", "~> 1.48.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swagalicious
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugene Howe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-07 00:00:00.000000000 Z
11
+ date: 2023-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -84,16 +84,16 @@ dependencies:
84
84
  name: rack-test
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 2.0.2
89
+ version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: 2.0.2
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement