query_string 1.0.0 → 1.0.1

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: 34e92e657e8f11169706f1d3e43c13e4f9c85d353aec420e116825fbef34a6de
4
- data.tar.gz: 86bb197ccd1dfb64ea89e13197ddb76db2b5463b5e56377bcbbb3a1d6e04da99
3
+ metadata.gz: a6d119d6d5281b6138fafdde98de3e34846b63a10b1dcc9025114cabc8bcd9b1
4
+ data.tar.gz: 92ca36d16624349ef960fb802387eeb1a1ec5ebdeabe1218c4ad6e6682ea671e
5
5
  SHA512:
6
- metadata.gz: 9e1614029543337217106fa9ccca8c19287722de469f1c04f508826046147cbc73eb8ca4744b75ab3f4a1e5c559347fb2c391c42ed11906d5e0fd6394bc08ecd
7
- data.tar.gz: 73195f9516fe105883a2678b3c23cd96ba40b06aae16432e59e0e51d1b77d57e029a33abbce664576f987b9ac9d2af101f2379e81875d0cd432719d7875f9e38
6
+ metadata.gz: e30ccd8261145df8ea51c93b63cc78a6eabb8447ca74f5849b0420ba328674ac9d3c7f0646bf6aab00e26b82ef7e968f5081a401849f973d6c28c33625742f64
7
+ data.tar.gz: f40646a74ddd0a1ef7e419c92b9df8f14394930d2849f1eb756c2740c8e45b46f8076b45a5c7e3f638011dd540b76877bf23af6d4b049b385525871748b9308d
@@ -21,7 +21,7 @@ module QueryString
21
21
  def build_hash(hash, prefix)
22
22
  hash.map do |k, v|
23
23
  build(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k))
24
- end.join('&')
24
+ end.reject(&:empty?).join('&')
25
25
  end
26
26
 
27
27
  def escape(value)
@@ -1,3 +1,3 @@
1
1
  module QueryString
2
- VERSION = '1.0.0'.freeze
2
+ VERSION = '1.0.1'.freeze
3
3
  end
@@ -73,16 +73,28 @@ describe QueryString do
73
73
  it { is_expected.to eq 'a[]=' }
74
74
  end
75
75
 
76
- context 'input is Hash with empty Hash value' do
76
+ context 'input is Hash with only empty Hash value' do
77
77
  let(:input) { { a: {} } }
78
78
 
79
79
  it { is_expected.to eq '' }
80
80
  end
81
81
 
82
- context 'input is Hash with empty Array value' do
82
+ context 'input is Hash with only empty Array value' do
83
83
  let(:input) { { a: [] } }
84
84
 
85
85
  it { is_expected.to eq '' }
86
86
  end
87
+
88
+ context 'input is Hash with empty Hash value' do
89
+ let(:input) { { a: 'b', c: {} } }
90
+
91
+ it { is_expected.to eq 'a=b' }
92
+ end
93
+
94
+ context 'input is Hash with empty Array value' do
95
+ let(:input) { { a: 'b', c: [] } }
96
+
97
+ it { is_expected.to eq 'a=b' }
98
+ end
87
99
  end
88
100
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: query_string
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simen Svale Skogsrud