openapi_parameters 0.5.0 → 0.6.0
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 +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/openapi_parameters/converters.rb +6 -0
- data/lib/openapi_parameters/error.rb +2 -0
- data/lib/openapi_parameters/query.rb +9 -1
- data/lib/openapi_parameters/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b798ca1e80a551797f19f1b1f2242b7785af3158446c898d9b0aadaa9c520777
|
4
|
+
data.tar.gz: d8540ac316847320ace7b8379395514c5f2deee2b711ab097e8b73c22b2de14f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8c9011ca61153e8fb20f375aa3bda9f11f69a4bac614726cff883f1811e219eece7a4cad2ee384ead8d0688a6f327783ed1c156cc94505ad791341e22d0fc97
|
7
|
+
data.tar.gz: 1e5fe939d22288b0196ea0a85a7152f022f2f3e96a2f5ac65329f97cb7448517b1df0b13926cf0d4ef227346ca4f002e2727bc8a2e5ceacfadca857b9ffa3dbf
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
## [Unreleased]
|
2
2
|
|
3
|
+
## [0.6.0] - 2025-06-23
|
4
|
+
|
5
|
+
- Array parameters without a value ("?ids=" or "?ids") return an empty array instead of nil or an empty string.
|
6
|
+
This makes parsing more consistent, because it should not matter if "=" is added or not.
|
7
|
+
|
8
|
+
## [0.5.1] - 2025-06-17
|
9
|
+
|
10
|
+
- Raise `Rack::Utils::InvalidParameterError` when query paramter has invalid "%"-encoding
|
11
|
+
|
3
12
|
## [0.5.0] - 2025-04-01
|
4
13
|
|
5
14
|
- Add option to remove "[]" from unpacked query openapi_parameters
|
@@ -14,7 +14,7 @@ module OpenapiParameters
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def unpack(query_string) # rubocop:disable Metrics/AbcSize
|
17
|
-
parsed_query =
|
17
|
+
parsed_query = parse_query(query_string)
|
18
18
|
parameters.each_with_object({}) do |parameter, result|
|
19
19
|
if parameter.deep_object?
|
20
20
|
parsed_nested_query = Rack::Utils.parse_nested_query(query_string)
|
@@ -40,6 +40,14 @@ module OpenapiParameters
|
|
40
40
|
|
41
41
|
private
|
42
42
|
|
43
|
+
def parse_query(query_string)
|
44
|
+
Rack::Utils.parse_query(query_string) do |s|
|
45
|
+
Rack::Utils.unescape(s)
|
46
|
+
rescue ArgumentError => e
|
47
|
+
raise Rack::Utils::InvalidParameterError, e.message
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
43
51
|
def convert_primitive(value, parameter)
|
44
52
|
return value unless @convert
|
45
53
|
return value if value == ''
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openapi_parameters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andreas Haller
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|