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.
@@ -15,7 +15,7 @@ module Simplesol
15
15
 
16
16
  def self.parse(response)
17
17
  if response.error
18
- Simplesol::ERRORS[response.error-1].new response
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 EmptyMessageError < Error
31
+ class InvalidApiComponentError < Error
32
32
  end
33
33
 
34
- class IncorrectRecipientsListError < Error
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
- ERRORS = [InvalidUserError, InvalidSignatureError, EmptyMessageError,
41
- IncorrectRecipientsListError, NotEnoughMoneyError]
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
@@ -1,3 +1,3 @@
1
1
  module Simplesol
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -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
- hash: 27
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
- date: 2013-02-23 00:00:00 Z
19
- dependencies:
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
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
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
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
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
- requirement: &id003 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
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
- requirement: &id004 !ruby/object:Gem::Requirement
66
- none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
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
- requirement: &id005 !ruby/object:Gem::Requirement
80
- none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
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
- requirement: &id006 !ruby/object:Gem::Requirement
94
- none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
98
- hash: 3
99
- segments:
100
- - 0
101
- version: "0"
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
- requirement: &id007 !ruby/object:Gem::Requirement
108
- none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
- version: "0"
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
- requirement: &id008 !ruby/object:Gem::Requirement
122
- none: false
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
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
- version_requirements: *id008
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
- hash: 3
171
- segments:
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
- hash: 3
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