api-resource 0.3.9 → 0.3.10

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 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