mercadolibre 4.6.0 → 4.7.0
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/CHANGELOG.md +5 -1
- data/lib/mercadolibre.rb +4 -0
- data/lib/mercadolibre/version.rb +1 -1
- data/lib/mercadoshops/api.rb +121 -0
- data/lib/mercadoshops/core/orders.rb +11 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a21c45766229a60b3ef28bc5425367c6c1b8f04a33b8811575df582fd673105d
|
4
|
+
data.tar.gz: 94d5622bf678185c699f3f9d98950d89dfba73cfea4bcc520ac952bf6303b79d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfc42e8a76aa1caf50435fc9580515017b4df679a8530c3f4485ce7090fe925022656c4d11532346ec95335db81342a3e62d8cbe871085f91ac4e1c47505674b
|
7
|
+
data.tar.gz: ed781708c155494184f97fffc47e53af5d251d32a61e19411d7ba6d085874ec48e8da2196cca805936e006268394ee9c8ccbc80a14334e4c01edcffd55e6a69c
|
data/CHANGELOG.md
CHANGED
data/lib/mercadolibre.rb
CHANGED
data/lib/mercadolibre/version.rb
CHANGED
@@ -0,0 +1,121 @@
|
|
1
|
+
module Mercadoshops
|
2
|
+
class Api
|
3
|
+
attr_accessor :access_token
|
4
|
+
|
5
|
+
def initialize(args={})
|
6
|
+
@access_token = args[:access_token]
|
7
|
+
|
8
|
+
if args[:endpoint_url].present?
|
9
|
+
@endpoint_url = args[:endpoint_url]
|
10
|
+
else
|
11
|
+
@endpoint_url = 'api.mercadoshops.com'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
include Mercadoshops::Core::Orders
|
16
|
+
|
17
|
+
def get_last_response
|
18
|
+
@last_response
|
19
|
+
end
|
20
|
+
|
21
|
+
def get_last_result
|
22
|
+
@last_result
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def get_request(action, params={}, headers={})
|
28
|
+
begin
|
29
|
+
api_response_kind = headers.delete('api_response_kind')
|
30
|
+
api_response_kind = headers.delete(:api_response_kind) if api_response_kind.nil?
|
31
|
+
api_response_kind = 'object' if api_response_kind.nil?
|
32
|
+
|
33
|
+
parse_response(api_response_kind, RestClient.get("#{@endpoint_url}#{action}", {params: params}.merge(headers)))
|
34
|
+
rescue => e
|
35
|
+
parse_response('object', e.response)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def post_request(action, params={}, headers={})
|
40
|
+
begin
|
41
|
+
api_response_kind = headers.delete('api_response_kind')
|
42
|
+
api_response_kind = headers.delete(:api_response_kind) if api_response_kind.nil?
|
43
|
+
api_response_kind = 'object' if api_response_kind.nil?
|
44
|
+
|
45
|
+
parse_response(api_response_kind, RestClient.post("#{@endpoint_url}#{action}", params, headers))
|
46
|
+
rescue => e
|
47
|
+
parse_response('object', e.response)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
def put_request(action, params={}, headers={})
|
52
|
+
begin
|
53
|
+
api_response_kind = headers.delete('api_response_kind')
|
54
|
+
api_response_kind = headers.delete(:api_response_kind) if api_response_kind.nil?
|
55
|
+
api_response_kind = 'object' if api_response_kind.nil?
|
56
|
+
|
57
|
+
parse_response(api_response_kind, RestClient.put("#{@endpoint_url}#{action}", params, headers))
|
58
|
+
rescue => e
|
59
|
+
parse_response('object', e.response)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def patch_request(action, params={}, headers={})
|
64
|
+
begin
|
65
|
+
api_response_kind = headers.delete('api_response_kind')
|
66
|
+
api_response_kind = headers.delete(:api_response_kind) if api_response_kind.nil?
|
67
|
+
api_response_kind = 'object' if api_response_kind.nil?
|
68
|
+
|
69
|
+
parse_response(api_response_kind, RestClient.patch("#{@endpoint_url}#{action}", params, headers))
|
70
|
+
rescue => e
|
71
|
+
parse_response('object', e.response)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def head_request(action, params={}, headers={})
|
76
|
+
begin
|
77
|
+
api_response_kind = headers.delete('api_response_kind')
|
78
|
+
api_response_kind = headers.delete(:api_response_kind) if api_response_kind.nil?
|
79
|
+
api_response_kind = 'object' if api_response_kind.nil?
|
80
|
+
|
81
|
+
parse_response(api_response_kind, RestClient.head("#{@endpoint_url}#{action}", params))
|
82
|
+
rescue => e
|
83
|
+
parse_response('object', e.response)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def delete_request(action, params={}, headers={})
|
88
|
+
begin
|
89
|
+
api_response_kind = headers.delete('api_response_kind')
|
90
|
+
api_response_kind = headers.delete(:api_response_kind) if api_response_kind.nil?
|
91
|
+
api_response_kind = 'object' if api_response_kind.nil?
|
92
|
+
|
93
|
+
parse_response(api_response_kind, RestClient.delete("#{@endpoint_url}#{action}", params))
|
94
|
+
rescue => e
|
95
|
+
parse_response('object', e.response)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
def parse_response(api_response_kind, response)
|
100
|
+
@last_response = response
|
101
|
+
|
102
|
+
result = OpenStruct.new
|
103
|
+
result.status_code = response.code
|
104
|
+
|
105
|
+
if api_response_kind == 'object'
|
106
|
+
result.headers = (JSON.parse(response.headers.to_json, object_class: OpenStruct) rescue response.headers)
|
107
|
+
result.body = (JSON.parse(response.body, object_class: OpenStruct) rescue response.body)
|
108
|
+
elsif api_response_kind == 'hash'
|
109
|
+
result.headers = response.headers
|
110
|
+
result.body = (JSON.parse(response.body) rescue response.body)
|
111
|
+
else
|
112
|
+
result.headers = response.headers
|
113
|
+
result.body = response.body
|
114
|
+
end
|
115
|
+
|
116
|
+
@last_result = result
|
117
|
+
|
118
|
+
result
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mercadolibre
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matias Hick
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -93,6 +93,8 @@ files:
|
|
93
93
|
- lib/mercadopago/api.rb
|
94
94
|
- lib/mercadopago/core/oauth.rb
|
95
95
|
- lib/mercadopago/core/payments.rb
|
96
|
+
- lib/mercadoshops/api.rb
|
97
|
+
- lib/mercadoshops/core/orders.rb
|
96
98
|
homepage: https://github.com/unformattmh/mercadolibre
|
97
99
|
licenses:
|
98
100
|
- MIT
|