promoqui-api-sdk 1.4.2 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pqsdk.rb +2 -1
- data/lib/pqsdk/offer.rb +30 -0
- data/lib/pqsdk/rest_layer.rb +11 -4
- data/lib/pqsdk/settings.rb +2 -0
- data/lib/pqsdk/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45eb87a29abe0c9c4efbc6a1c921bca4a80eb874
|
4
|
+
data.tar.gz: 6f47ae5a6c71fabdbd179c6ebf075b9b1651f1b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c128563e15ea195e6e808549cd4cf4c044ca897f83335a64cf5cf3410ac10c4e711700fc9e183d1821722df0f0a401b91796ed6e928658b43c2cd8ccb18a9450
|
7
|
+
data.tar.gz: 48493190d9cf888da59852636c07347e165168bd6a7cd8b3e8ceacbb54c9034eaecfb1fc1cc815121fbcf67b92d9057a12a21e8bc48a2841df93777250588a5c
|
data/lib/pqsdk.rb
CHANGED
data/lib/pqsdk/offer.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
module PQSDK
|
2
|
+
class Offer
|
3
|
+
attr_accessor :title, :description, :price, :original_price, :discount, :start_date, :end_date, :image, :store_ids
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
store_ids = []
|
7
|
+
end
|
8
|
+
|
9
|
+
def save
|
10
|
+
method = :post
|
11
|
+
endpoint = "v1/offers"
|
12
|
+
|
13
|
+
fields = {}
|
14
|
+
[ :title, :description, :price, :original_price, :discount, :start_date, :end_date, :image ].each do |key|
|
15
|
+
fields[key.to_s] = send(key) unless send(key).nil?
|
16
|
+
end
|
17
|
+
fields['store_ids'] = store_ids
|
18
|
+
|
19
|
+
res = RestLayer.send(method, endpoint, fields, {'Authorization' => "Bearer #{Token.access_token}", 'Content-Type' => 'application/json'})
|
20
|
+
|
21
|
+
if [200, 201].include? res[0]
|
22
|
+
# All right!
|
23
|
+
elsif res[0] == 400
|
24
|
+
raise Exception.new("Bad request! Error: #{res[1]['errors']}")
|
25
|
+
else
|
26
|
+
raise Exception.new("Unexpected HTTP status code #{res[0]}")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/pqsdk/rest_layer.rb
CHANGED
@@ -21,7 +21,12 @@ module PQSDK
|
|
21
21
|
def self.post(endpoint, parameters, headers)
|
22
22
|
url = URI.parse("#{Settings.schema}://#{Settings.host}/#{endpoint}")
|
23
23
|
req = Net::HTTP::Post.new(url.request_uri)
|
24
|
-
|
24
|
+
|
25
|
+
if headers['Content-Type'] == 'application/json'
|
26
|
+
req.body = parameters.to_json
|
27
|
+
else
|
28
|
+
req.set_form_data(parameters)
|
29
|
+
end
|
25
30
|
|
26
31
|
headers.each do |name, value|
|
27
32
|
req[name.to_s] = value
|
@@ -32,7 +37,11 @@ module PQSDK
|
|
32
37
|
end
|
33
38
|
|
34
39
|
check_status(res.code.to_i, res.body)
|
35
|
-
|
40
|
+
if res.body and res.body.length > 1
|
41
|
+
[ res.code.to_i, JSON.parse(res.body), res.to_hash ]
|
42
|
+
else
|
43
|
+
[ res.code.to_i, {}, res.to_hash ]
|
44
|
+
end
|
36
45
|
end
|
37
46
|
|
38
47
|
def self.put(endpoint, parameters, headers)
|
@@ -56,8 +65,6 @@ module PQSDK
|
|
56
65
|
def self.check_status(code, body)
|
57
66
|
if code >= 500
|
58
67
|
raise Exception.new("Internal Server Error")
|
59
|
-
elsif code == 400
|
60
|
-
raise Exception.new("Bad Request. This usually imples a bug in this gem! Error: #{JSON.parse(body)['error']}")
|
61
68
|
elsif code == 401
|
62
69
|
raise Exception.new("You are not authorized to perform that request")
|
63
70
|
end
|
data/lib/pqsdk/settings.rb
CHANGED
data/lib/pqsdk/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: promoqui-api-sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francesco Boffa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -33,6 +33,7 @@ files:
|
|
33
33
|
- lib/pqsdk.rb
|
34
34
|
- lib/pqsdk/city.rb
|
35
35
|
- lib/pqsdk/leaflet.rb
|
36
|
+
- lib/pqsdk/offer.rb
|
36
37
|
- lib/pqsdk/rest_layer.rb
|
37
38
|
- lib/pqsdk/settings.rb
|
38
39
|
- lib/pqsdk/store.rb
|