api-resource 0.3.9 → 0.3.10

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
  SHA1:
3
- metadata.gz: 91739dff4e4b5a22caa8b28e4f293e8a61997f2c
4
- data.tar.gz: 70682abac9db8189786bf7597d5629b2fa679b90
3
+ metadata.gz: 5679beb28b336b6e3de3c3e1dee1531c7e26c0a5
4
+ data.tar.gz: 989d1b51c9476722951f7b67cb89b60dd5da01d7
5
5
  SHA512:
6
- metadata.gz: 0135b77b12c1caff85771812cd7d3c2804d37c6ad275babcb3c9ca096df62127bdc3035eefbe2b3c65ccb3c43a90717d8922ba48c5e0b903cbd03470c2614f28
7
- data.tar.gz: f084b237826eef6efee741718bfbffbd80602cfeb86c03affd5f79d599aa2343e58bc4de6bc452b2ec4d23b9ed12a09c9b912d4f503ecbcc7bd4119ffe2a775d
6
+ metadata.gz: 41a52921b7a012c11fd9643fc261152435ee8b12317997381bd52472896b2177f1d3c78c182055cfbc7d319303e174ed322313279865a503d7ae0421498b647b
7
+ data.tar.gz: 5ef30da9b85cdb575b7f3feada6177149acd481aee0c49a37c038581dcb23798e00fe153eb290e9ee1f316d8c51978de52b868b150542c86919e4374c14a5857
@@ -59,7 +59,7 @@ module ApiResource
59
59
  end
60
60
 
61
61
  def self.where(options, verb=:get)
62
- result = client(verb, *(verb==:get ? [{}, "#{resource_name}?#{options.to_param}"] : [options, resource_name]))
62
+ result = client(verb, options, resource_name)
63
63
  create_resource_collection(result)
64
64
  end
65
65
 
@@ -129,7 +129,11 @@ module ApiResource
129
129
  headers = { accept: :json }
130
130
  req_params = { url: url, method: verb, headers: headers }
131
131
  if verb == :get
132
- headers[:params] = params
132
+ # using #to_query instead of URI::encode_www_form to comply with rails convention for query string array values
133
+ uri = URI.parse(url)
134
+ sep = (uri.query.blank? || params.to_query.blank?) ? '' : '&'
135
+ uri.query = [uri.query, params.to_query].join(sep)
136
+ req_params[:url] = uri.to_s
133
137
  else
134
138
  req_params[:payload] = params
135
139
  end
@@ -1,3 +1,3 @@
1
1
  module ApiResource
2
- VERSION = '0.3.9'
2
+ VERSION = '0.3.10'
3
3
  end
@@ -100,6 +100,12 @@ RSpec.describe ApiResource::Resource do
100
100
  result = Blog.where({ title: 'hello world', tags: ['hello', 'first', 'greeting'] }, :post)
101
101
  check_returned_array(Blog, @expected_resources, result)
102
102
  end
103
+
104
+ it 'not add query string for empty array parameter values on GET' do
105
+ req(:get, '/blogs', @expected_resources)
106
+ result = Blog.where({ tags: [] })
107
+ check_returned_array(Blog, @expected_resources, result)
108
+ end
103
109
  end
104
110
 
105
111
  context '#by_parent_resource' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api-resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.9
4
+ version: 0.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chaker Nakhli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-16 00:00:00.000000000 Z
11
+ date: 2015-02-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: simple-hmac