mercado-libre 0.0.2 → 0.0.3

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: 363f6161a791d57042f5398e81818cd213f77f1b
4
- data.tar.gz: 61ba177f45aac40b736396aaedd46da57460b748
3
+ metadata.gz: 69db05d164d979c88e784611061f29c8ecff876a
4
+ data.tar.gz: 937c92abc8f58edb233c55d18d3b603621203589
5
5
  SHA512:
6
- metadata.gz: 92f080efeed17ad6e8e6f0aa0a21d1885bb43a77e635e38f3c08195cdbb8c3ac2dbf0d30d68db35e108a047260cc72bbfc9a826fd8d5139ce7c45d9d71f04579
7
- data.tar.gz: 734b70b76553754d2cb56bc78d4cd37b9570b042c293715b7143950453d33aa439f9f47c0b14d73069fc781856e38ad4899361f2f57b92df03e971ee55712e84
6
+ metadata.gz: ccdd99d5979ad1e7327f378505d69a56a5f347425db9581f0993e5c424c32729f91cd2ffa79f6bd0c9bf19faff9fec1f05d83fe266ea3dd3fbac5cbba75ff0aa
7
+ data.tar.gz: f8bd3fdca044c8c3f75c113b3413bb97fc26af16fe36ce4bd306a199466b7207f99b1a5dd99917ef2c16e1f90b68a8e2489df6dad0e11d418b4ece8b77bf851c
@@ -49,9 +49,9 @@ module MercadoLibre
49
49
  end
50
50
 
51
51
  def authenticated_request(verb, url, data = {})
52
- url_with_token = "#{url}?access_token=#{access_token}"
52
+ new_url = url_with_token(url)
53
53
  begin
54
- request(verb, url_with_token, data)
54
+ request(verb, new_url, data)
55
55
  rescue Requests::Error
56
56
  @retries ||=0
57
57
  @retries +=1
@@ -90,5 +90,15 @@ module MercadoLibre
90
90
 
91
91
  request(:post, url, data).fetch('access_token')
92
92
  end
93
+
94
+ def url_with_token(url)
95
+ require 'uri'
96
+ uri = URI(url)
97
+ params = URI.decode_www_form(uri.query || '')
98
+ params << ['access_token', access_token]
99
+ uri.query = URI.encode_www_form(params).to_s
100
+
101
+ uri.to_s
102
+ end
93
103
  end
94
104
  end
@@ -1,3 +1,3 @@
1
1
  module MercadoLibre
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "mercado-libre"
3
- s.version = "0.0.2"
3
+ s.version = "0.0.3"
4
4
  s.summary = "MercadoLibre API"
5
5
  s.description = "mercado-libre"
6
6
  s.authors = ["CarlosIPe"]
@@ -102,4 +102,18 @@ test "authenticated_request gets new access token when forbidden" do
102
102
  ml.access_token = 'Invalid one'
103
103
  published_item = ml.publish_item(item)
104
104
  assert(ml.access_token =~ /^APP/)
105
+ end
106
+
107
+ test ".url_with_token(url) returns right url when doesnt have other query params" do
108
+ ml = api
109
+ ml.access_token = 'APP123456'
110
+ url = '/users/189517696/items/search'
111
+ assert_equal ml.url_with_token(url), '/users/189517696/items/search?access_token=APP123456'
112
+ end
113
+
114
+ test ".url_with_token(url) returns right url when has query params" do
115
+ ml = api
116
+ ml.access_token = 'APP123456'
117
+ url = '/users/189517696/items/search?limit=200&offset=100'
118
+ assert_equal ml.url_with_token(url), '/users/189517696/items/search?limit=200&offset=100&access_token=APP123456'
105
119
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mercado-libre
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - CarlosIPe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2016-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: requests