haveapi-client 0.27.1 → 0.27.2
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/lib/haveapi/client/communicator.rb +2 -8
- data/lib/haveapi/client/version.rb +1 -1
- data/spec/integration/typed_input_spec.rb +18 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b93b02b0f6d5111966c48ed916cb75760736fcee702526ac722c3e6fafb5ea01
|
|
4
|
+
data.tar.gz: fa1fb1592f032a65382b6e02fc652b818599ed4386c70a1c425177b40f4416c3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f879311befd51bb6ce13f4114d3d251f0848f56025ad26c915ca57f0448e641af3c448c6234aea28477f6c8042d4ec2039425f40c8161ffc1c01be8ba53bec91
|
|
7
|
+
data.tar.gz: 2e04ca72e9e971459be53ccee44773d462adccfaa7293df273bcaf242804dd3f3d1896e41fb59944035b09b4f4ecd34003d77e393b2c79505923c82f4b6bc602
|
|
@@ -140,19 +140,13 @@ module HaveAPI::Client
|
|
|
140
140
|
get_params = {}
|
|
141
141
|
|
|
142
142
|
params.each do |k, v|
|
|
143
|
-
desc = action.input_params&.[](k) || action.input_params&.[](k.to_sym)
|
|
144
|
-
|
|
145
143
|
get_params["#{input_namespace}[#{k}]"] =
|
|
146
|
-
|
|
147
|
-
''
|
|
148
|
-
else
|
|
149
|
-
v
|
|
150
|
-
end
|
|
144
|
+
v.nil? ? '' : v
|
|
151
145
|
end
|
|
152
146
|
|
|
153
147
|
if meta
|
|
154
148
|
meta.each do |k, v|
|
|
155
|
-
get_params["_meta[#{k}]"] = v # FIXME: read _meta namespace from the description
|
|
149
|
+
get_params["_meta[#{k}]"] = v.nil? ? '' : v # FIXME: read _meta namespace from the description
|
|
156
150
|
end
|
|
157
151
|
end
|
|
158
152
|
|
|
@@ -119,4 +119,22 @@ RSpec.describe HaveAPI::Client::Client do
|
|
|
119
119
|
expect(res[:project_nil]).to be(true)
|
|
120
120
|
expect(res[:project]).to be_nil
|
|
121
121
|
end
|
|
122
|
+
|
|
123
|
+
it 'accepts nil for optional typed params' do
|
|
124
|
+
res = client.test.echo_optional(dt: nil)
|
|
125
|
+
|
|
126
|
+
expect(res).to be_a(HaveAPI::Client::Response)
|
|
127
|
+
expect(res[:dt_provided]).to be(true)
|
|
128
|
+
expect(res[:dt_nil]).to be(true)
|
|
129
|
+
expect(res[:dt]).to be_nil
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
it 'accepts nil for optional typed params via GET' do
|
|
133
|
+
res = client.test.echo_optional_get(dt: nil)
|
|
134
|
+
|
|
135
|
+
expect(res).to be_a(HaveAPI::Client::Response)
|
|
136
|
+
expect(res[:dt_provided]).to be(true)
|
|
137
|
+
expect(res[:dt_nil]).to be(true)
|
|
138
|
+
expect(res[:dt]).to be_nil
|
|
139
|
+
end
|
|
122
140
|
end
|