simplesol 0.0.2 → 0.0.3
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/simplesol/errors.rb +26 -5
- data/lib/simplesol/version.rb +1 -1
- data/spec/simplesol_spec.rb +8 -0
- metadata +132 -134
data/lib/simplesol/errors.rb
CHANGED
@@ -15,7 +15,7 @@ module Simplesol
|
|
15
15
|
|
16
16
|
def self.parse(response)
|
17
17
|
if response.error
|
18
|
-
Simplesol::ERRORS[response.error
|
18
|
+
Simplesol::ERRORS[response.error].new response
|
19
19
|
else
|
20
20
|
Exception.new('error cannot be parsed')
|
21
21
|
end
|
@@ -28,15 +28,36 @@ module Simplesol
|
|
28
28
|
class InvalidSignatureError < Error
|
29
29
|
end
|
30
30
|
|
31
|
-
class
|
31
|
+
class InvalidApiComponentError < Error
|
32
32
|
end
|
33
33
|
|
34
|
-
class
|
34
|
+
class InvalidApiComponentMethodError < Error
|
35
|
+
end
|
36
|
+
|
37
|
+
class InvalidRecipientsError < Error
|
38
|
+
end
|
39
|
+
|
40
|
+
class MessageIsEmptyError < Error
|
41
|
+
end
|
42
|
+
|
43
|
+
class SenderIsEmptyError < Error
|
35
44
|
end
|
36
45
|
|
37
46
|
class NotEnoughMoneyError < Error
|
38
47
|
end
|
39
48
|
|
40
|
-
|
41
|
-
|
49
|
+
class InvalidMessageIdError < Error
|
50
|
+
end
|
51
|
+
|
52
|
+
ERRORS = {
|
53
|
+
1 => InvalidUserError,
|
54
|
+
2 => InvalidSignatureError,
|
55
|
+
4 => InvalidApiComponentError,
|
56
|
+
5 => InvalidApiComponentMethodError,
|
57
|
+
6 => InvalidRecipientsError,
|
58
|
+
7 => MessageIsEmptyError,
|
59
|
+
8 => SenderIsEmptyError,
|
60
|
+
9 => NotEnoughMoneyError,
|
61
|
+
10 => InvalidMessageIdError
|
62
|
+
}
|
42
63
|
end
|
data/lib/simplesol/version.rb
CHANGED
data/spec/simplesol_spec.rb
CHANGED
@@ -49,6 +49,14 @@ describe Simplesol do
|
|
49
49
|
it 'raise signature error' do
|
50
50
|
expect { @wrong_client.balance }.to raise_error(Simplesol::InvalidSignatureError)
|
51
51
|
end
|
52
|
+
|
53
|
+
Simplesol::ERRORS.each do |code, error|
|
54
|
+
it "should raise #{error} when code is #{code}" do
|
55
|
+
response = double(:status => 'error', :error => code, :message => 'error message')
|
56
|
+
@wrong_client.connection.stub(:post).and_return(double(:body => response))
|
57
|
+
expect { @wrong_client.balance }.to raise_error(error)
|
58
|
+
end
|
59
|
+
end
|
52
60
|
end
|
53
61
|
|
54
62
|
# This context actually send requests to api and records them to vcr casette,
|
metadata
CHANGED
@@ -1,144 +1,151 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: simplesol
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 2
|
10
|
-
version: 0.0.2
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Askar Zinurov
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-03-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: bundler
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
hash: 3
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :development
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: rspec
|
36
23
|
prerelease: false
|
37
|
-
|
38
|
-
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
46
38
|
type: :development
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: vcr
|
50
39
|
prerelease: false
|
51
|
-
|
52
|
-
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: vcr
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
60
54
|
type: :development
|
61
|
-
version_requirements: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: webmock
|
64
55
|
prerelease: false
|
65
|
-
|
66
|
-
none: false
|
67
|
-
requirements:
|
68
|
-
- -
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: webmock
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
74
70
|
type: :development
|
75
|
-
version_requirements: *id004
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: faraday
|
78
71
|
prerelease: false
|
79
|
-
|
80
|
-
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: faraday
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
88
86
|
type: :runtime
|
89
|
-
version_requirements: *id005
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
|
-
name: faraday_middleware
|
92
87
|
prerelease: false
|
93
|
-
|
94
|
-
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: faraday_middleware
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
102
|
type: :runtime
|
103
|
-
version_requirements: *id006
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: hashie
|
106
103
|
prerelease: false
|
107
|
-
|
108
|
-
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: hashie
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
116
118
|
type: :runtime
|
117
|
-
version_requirements: *id007
|
118
|
-
- !ruby/object:Gem::Dependency
|
119
|
-
name: rash
|
120
119
|
prerelease: false
|
121
|
-
|
122
|
-
none: false
|
123
|
-
requirements:
|
124
|
-
- -
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: rash
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
130
134
|
type: :runtime
|
131
|
-
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
132
142
|
description: SimpleSol service client gem
|
133
|
-
email:
|
143
|
+
email:
|
134
144
|
- mail@asktim.ru
|
135
145
|
executables: []
|
136
|
-
|
137
146
|
extensions: []
|
138
|
-
|
139
147
|
extra_rdoc_files: []
|
140
|
-
|
141
|
-
files:
|
148
|
+
files:
|
142
149
|
- .gitignore
|
143
150
|
- .rspec
|
144
151
|
- Gemfile
|
@@ -156,38 +163,29 @@ files:
|
|
156
163
|
- spec/vcr_cassettes/simplesol_errors.yml
|
157
164
|
homepage: https://github.com/AskarZinurov/simplesol
|
158
165
|
licenses: []
|
159
|
-
|
160
166
|
post_install_message:
|
161
167
|
rdoc_options: []
|
162
|
-
|
163
|
-
require_paths:
|
168
|
+
require_paths:
|
164
169
|
- lib
|
165
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
166
171
|
none: false
|
167
|
-
requirements:
|
168
|
-
- -
|
169
|
-
- !ruby/object:Gem::Version
|
170
|
-
|
171
|
-
|
172
|
-
- 0
|
173
|
-
version: "0"
|
174
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - ! '>='
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: '0'
|
176
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
177
|
none: false
|
176
|
-
requirements:
|
177
|
-
- -
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
|
180
|
-
segments:
|
181
|
-
- 0
|
182
|
-
version: "0"
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
183
182
|
requirements: []
|
184
|
-
|
185
183
|
rubyforge_project:
|
186
184
|
rubygems_version: 1.8.24
|
187
185
|
signing_key:
|
188
186
|
specification_version: 3
|
189
187
|
summary: Gem for working with sms.simplesol.ru
|
190
|
-
test_files:
|
188
|
+
test_files:
|
191
189
|
- spec/helper.rb
|
192
190
|
- spec/simplesol_spec.rb
|
193
191
|
- spec/vcr_cassettes/simplesol_errors.yml
|