yandex-delivery-api 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/yandex_delivery.rb +30 -1
- 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: 5bd81352bdf21d93b5b70f68f016bf931584bdc94cd695b19fb405525b16e974
|
4
|
+
data.tar.gz: 347ba1fc88d9e8740dc7e2feff8e172ccd509c30e21dae85b79d02a87bc2f51e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b28481848de4c630fbe38f012093dfa913899eb7f035a32cd7f753489f55e88be24071af5095be3a487c67ae3db69919803d3afbb00ff6ed9ec92eefb0afc89d
|
7
|
+
data.tar.gz: 9ce904bf889bdc4e0cefa3daecaf3a1e5c6ea04bf84ec1697044fae656b1c682c82b652416f3aac072e689651b1d7df7cfce89712bd65c1051e1f309b12a6962
|
data/README.md
CHANGED
@@ -30,7 +30,7 @@ params = {
|
|
30
30
|
:order_cost => 1000
|
31
31
|
}
|
32
32
|
|
33
|
-
YandexDelivery::
|
33
|
+
YandexDelivery::search_delivery_list params
|
34
34
|
```
|
35
35
|
|
36
|
-
secret_key, client_id, sender_id указывать в параметрах не обязательно.
|
36
|
+
secret_key, client_id, sender_id указывать в параметрах не обязательно.
|
data/lib/yandex_delivery.rb
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
module YandexDelivery
|
2
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
|
+
|
3
16
|
class << self
|
4
17
|
|
5
18
|
def setup
|
@@ -15,14 +28,30 @@ module YandexDelivery
|
|
15
28
|
def build_params method_name, params={}
|
16
29
|
params[:client_id] = YandexDelivery.client["id"]
|
17
30
|
params[:sender_id] = params[:sender_id] || YandexDelivery.senders.first["id"]
|
18
|
-
params[:secret_key] = Digest::MD5.hexdigest("#{params
|
31
|
+
params[:secret_key] = Digest::MD5.hexdigest("#{post_values(params)}#{YandexDelivery.send("#{method_name}_key")}")
|
19
32
|
params
|
20
33
|
end
|
21
34
|
|
35
|
+
def post_values params
|
36
|
+
return params unless params.kind_of?(Array) || params.kind_of?(Hash)
|
37
|
+
if params.kind_of?(Array)
|
38
|
+
params.map{|k,v|
|
39
|
+
post_values(k)
|
40
|
+
}.join('')
|
41
|
+
else
|
42
|
+
params.sort.map{|k,v|
|
43
|
+
post_values(v)
|
44
|
+
}.join('')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
22
48
|
def create_method name
|
23
49
|
define_singleton_method(name) do |params = {}|
|
24
50
|
request name, params
|
25
51
|
end
|
52
|
+
define_method(name) do |params = {}|
|
53
|
+
request name, params
|
54
|
+
end
|
26
55
|
end
|
27
56
|
|
28
57
|
def register(name, value, type = nil)
|
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.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Osetrov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|