yandex-delivery-api 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/yandex_delivery.rb +7 -18
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45597ab0447b3d3fad27fc6d0f1aacc7c56f6475146e460d040653239a96ebd5
|
4
|
+
data.tar.gz: e71722bb3482e6a202e9ab2dac4ca00b478675f8c3e601660a9a074b4a150980
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2c8a485d69367d915e636254e09efe3c8ec87e46db4dc53caa6ee42af2b774ca2fec415cb86516cabbbe220ce5524d19a7a64f53dd4757cbd8bd848ab7c839f
|
7
|
+
data.tar.gz: 3e4e97235c7e2d60b22878869ed7115600f985bcdeb734a66c45aa5069dff15012c8c76c89124ed33f28cd466aa35dbe7c7ffc9e7adffc3963ad912c9e4d23e3
|
data/lib/yandex_delivery.rb
CHANGED
@@ -1,18 +1,4 @@
|
|
1
1
|
module YandexDelivery
|
2
|
-
|
3
|
-
def request method_name, params={}
|
4
|
-
params = build_params method_name, params
|
5
|
-
result = RestClient.post "https://delivery.yandex.ru/api/last/#{method_name.to_s.camelize(:lower)}", params
|
6
|
-
JSON.parse(result)
|
7
|
-
end
|
8
|
-
|
9
|
-
def build_params method_name, params={}
|
10
|
-
params[:client_id] = YandexDelivery.client["id"]
|
11
|
-
params[:sender_id] = params[:sender_id] || YandexDelivery.senders.first["id"]
|
12
|
-
params[:secret_key] = Digest::MD5.hexdigest("#{post_values(params)}#{YandexDelivery.send("#{method_name}_key")}")
|
13
|
-
params
|
14
|
-
end
|
15
|
-
|
16
2
|
class << self
|
17
3
|
|
18
4
|
def setup
|
@@ -28,6 +14,11 @@ module YandexDelivery
|
|
28
14
|
def build_params method_name, params={}
|
29
15
|
params[:client_id] = YandexDelivery.client["id"]
|
30
16
|
params[:sender_id] = params[:sender_id] || YandexDelivery.senders.first["id"]
|
17
|
+
params.each do |k, v|
|
18
|
+
if v.kind_of?(Array)
|
19
|
+
params[k] = v.map.with_index {|v,i| [i,v]}.to_h
|
20
|
+
end
|
21
|
+
end
|
31
22
|
params[:secret_key] = Digest::MD5.hexdigest("#{post_values(params)}#{YandexDelivery.send("#{method_name}_key")}")
|
32
23
|
params
|
33
24
|
end
|
@@ -35,9 +26,7 @@ module YandexDelivery
|
|
35
26
|
def post_values params
|
36
27
|
return params unless params.kind_of?(Array) || params.kind_of?(Hash)
|
37
28
|
if params.kind_of?(Array)
|
38
|
-
params.map
|
39
|
-
post_values(k)
|
40
|
-
}.join('')
|
29
|
+
params.map(&method(:post_values)).join('')
|
41
30
|
else
|
42
31
|
params.sort.map{|k,v|
|
43
32
|
post_values(v)
|
@@ -94,5 +83,5 @@ module YandexDelivery
|
|
94
83
|
@setting
|
95
84
|
end
|
96
85
|
end
|
97
|
-
|
86
|
+
|
98
87
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yandex-delivery-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Osetrov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-07-
|
11
|
+
date: 2020-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|