openapi_parameters 0.12.0 → 0.13.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 +5 -0
- data/lib/openapi_parameters/query.rb +9 -4
- 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: 1a8a4226fd27fc3a80b97ef9738213ff9b13751bf1aaa25b8bac035571689521
|
|
4
|
+
data.tar.gz: 0ea15dfaf1b5c80b638f5654abd54d01bde5e6e6a0de700b24bfb42f956d64a3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7da826b105c08fd25719dac269629701343fb5b697634defee33a57fd4b00ad12862914ee990d7da4bd56e4f20a251eda622b9290bcf14b86bea4e65a4522b02
|
|
7
|
+
data.tar.gz: 45e622fe04292cc129dff6d8fae497b7727e964c7dd25d83664481afd7db938dacfa21112296558b81c15961d002d2574b8544e61048694d348d6efb7d90ce99
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.13.0] - 2026-06-23
|
|
4
|
+
|
|
5
|
+
- Changed: Require Ruby 3.3 or later
|
|
6
|
+
- Fixed: `deepObject` query parameter values were unescaped twice, corrupting percent-encoded characters (e.g. `%2B` became a space instead of `+`). ([#25](https://github.com/ahx/openapi_parameters/issues/25))
|
|
7
|
+
|
|
3
8
|
## [0.12.0] - 2026-05-18
|
|
4
9
|
|
|
5
10
|
- Add support for parameters defined with a `content` field. Values for media types matching `application/json` or `*+json` are decoded with `JSON.parse` before conversion. Works for query, path, header, and cookie parameters.
|
|
@@ -12,8 +12,13 @@ module OpenapiParameters
|
|
|
12
12
|
@parameters = parameters.map { Parameter.new(_1) }
|
|
13
13
|
@convert = convert
|
|
14
14
|
@remove_array_brackets = rack_array_compat
|
|
15
|
-
@deep_object_properties =
|
|
16
|
-
|
|
15
|
+
@deep_object_properties = {}
|
|
16
|
+
@deep_object_regex = {}
|
|
17
|
+
@parameters.each do |param|
|
|
18
|
+
next unless param.deep_object?
|
|
19
|
+
|
|
20
|
+
@deep_object_properties[param.name] = ObjectConverter.get_properties(param.schema)
|
|
21
|
+
@deep_object_regex[param.name] = /^#{Regexp.escape(param.name)}#{DEEP_PROP}/
|
|
17
22
|
end
|
|
18
23
|
end
|
|
19
24
|
|
|
@@ -78,7 +83,7 @@ module OpenapiParameters
|
|
|
78
83
|
|
|
79
84
|
def parse_deep_object(parameter, parsed_query)
|
|
80
85
|
name = parameter.name
|
|
81
|
-
prop_regx =
|
|
86
|
+
prop_regx = @deep_object_regex[name]
|
|
82
87
|
properties_schema = @deep_object_properties[name]
|
|
83
88
|
|
|
84
89
|
parsed_query.each.with_object({}) do |(key, value), result|
|
|
@@ -94,7 +99,7 @@ module OpenapiParameters
|
|
|
94
99
|
end
|
|
95
100
|
|
|
96
101
|
def explode_value(value, parameter, is_array)
|
|
97
|
-
value = Array(value)
|
|
102
|
+
value = Array(value)
|
|
98
103
|
if is_array
|
|
99
104
|
return value if parameter.explode?
|
|
100
105
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: openapi_parameters
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.13.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andreas Haller
|
|
@@ -64,7 +64,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
64
64
|
requirements:
|
|
65
65
|
- - ">="
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 3.
|
|
67
|
+
version: 3.3.0
|
|
68
68
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
requirements:
|
|
70
70
|
- - ">="
|