mailru-api 0.5.2 → 0.6.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.
- data/lib/mailru-api/dsl.rb +1 -2
- data/lib/mailru-api/error.rb +1 -1
- data/lib/mailru-api/request.rb +11 -33
- metadata +3 -3
data/lib/mailru-api/dsl.rb
CHANGED
data/lib/mailru-api/error.rb
CHANGED
@@ -14,7 +14,7 @@ module MailRU
|
|
14
14
|
|
15
15
|
def self.create(code, description)
|
16
16
|
case code
|
17
|
-
when 1 then
|
17
|
+
when 1 then UnknownError.new(code, description)
|
18
18
|
when 2 then UnknownMethodCalledError.new(code, description)
|
19
19
|
when 3 then MethodIsDeprecatedError.new(code, description)
|
20
20
|
when 100 then InvalidParameterError.new(code, description)
|
data/lib/mailru-api/request.rb
CHANGED
@@ -36,44 +36,25 @@ module MailRU
|
|
36
36
|
def signature
|
37
37
|
return s2s_signature if use_s2s?
|
38
38
|
return c2s_signature if use_c2s?
|
39
|
-
|
40
|
-
if @secure == Secure::Yes and @api.secret_key.nil?
|
41
|
-
raise Error.create(0, 'secret_key must be specified for secure requests.')
|
42
|
-
end
|
43
|
-
|
44
|
-
if @secure == Secure::No and @api.private_key.nil?
|
45
|
-
raise Error.create(0, 'private_key must be specified for non secure requests.')
|
46
|
-
end
|
47
|
-
|
48
|
-
if @secure == Secure::Any and @api.secret_key.nil? and @api.private_key.nil?
|
49
|
-
raise Error.create(0, 'secret_key or private_key must be specified.')
|
50
|
-
end
|
51
|
-
|
52
|
-
if @secure == Secure::No and @api.uid.nil?
|
53
|
-
raise Error.create(0, 'uid must be specified for non secure requests.')
|
54
|
-
end
|
55
|
-
|
56
|
-
if @secure == Secure::Any and @api.secret_key.nil? and @api.uid.nil?
|
57
|
-
raise Error.create(0, 'uid must be specified for non secure requests.')
|
58
|
-
end
|
59
|
-
|
60
|
-
raise Error.create(0, 'unknown error.')
|
61
39
|
end
|
62
40
|
|
63
|
-
def
|
64
|
-
Digest::MD5.hexdigest(
|
41
|
+
def s2s_signature
|
42
|
+
Digest::MD5.hexdigest(parameters.sort.join + (@api.secret_key || ''))
|
65
43
|
end
|
66
44
|
|
67
|
-
def
|
68
|
-
Digest::MD5.hexdigest(parameters.sort.join + @api.
|
45
|
+
def c2s_signature
|
46
|
+
Digest::MD5.hexdigest((@api.uid || '')+ parameters.sort.join + (@api.private_key || ''))
|
69
47
|
end
|
70
48
|
|
71
49
|
def parameters
|
72
|
-
params = {
|
50
|
+
params = {}
|
51
|
+
params.merge!({app_id: @api.app_id}) if @api.app_id
|
52
|
+
params.merge!({method: @method}) if @method
|
73
53
|
params.merge!({session_key: @api.session_key}) if @api.session_key
|
74
54
|
params.merge!({format: @api.format}) if @api.format
|
75
|
-
params.merge!(@
|
55
|
+
params.merge!({uid: @api.uid}) if @api.uid
|
76
56
|
params.merge!({secure: 1}) if use_s2s?
|
57
|
+
params.merge!(@method_params) if @method_params
|
77
58
|
|
78
59
|
params.to_a.map{|p| p.join('=')}
|
79
60
|
end
|
@@ -86,10 +67,7 @@ module MailRU
|
|
86
67
|
|
87
68
|
error = response if response.name == 'error'
|
88
69
|
if error
|
89
|
-
raise Error.create(
|
90
|
-
error.elements['error_code'].text,
|
91
|
-
error.elements['error_msg'].text
|
92
|
-
)
|
70
|
+
raise Error.create(Integer(error.elements['error_code'].text), error.elements['error_msg'].text)
|
93
71
|
end
|
94
72
|
else
|
95
73
|
response = JSON.parse(response)
|
@@ -106,7 +84,7 @@ module MailRU
|
|
106
84
|
end
|
107
85
|
|
108
86
|
class GetRequest < Request
|
109
|
-
def get
|
87
|
+
def get
|
110
88
|
request = URI.escape(PATH + '?' + parameters.push("sig=#{signature}").join('&'))
|
111
89
|
handle_response(Net::HTTP.get(URI(request)))
|
112
90
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailru-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-09-
|
12
|
+
date: 2013-09-24 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Ruby @Mail.RU API
|
15
15
|
email: demin.alexey@inbox.ru
|
@@ -33,7 +33,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
33
33
|
requirements:
|
34
34
|
- - ! '>='
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 1.9.3
|
37
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
38
|
none: false
|
39
39
|
requirements:
|