sms_manager 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -1
- data/Gemfile.lock +1 -1
- data/lib/sms_manager.rb +6 -2
- data/lib/sms_manager/error/error.rb +3 -0
- data/lib/sms_manager/error/sending_error.rb +9 -9
- data/lib/sms_manager/version.rb +2 -2
- data/sms_manager.gemspec +3 -2
- data/spec/sms_manager_spec.rb +21 -5
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b6c5f47ed9565f01fe97dfc14ad5129298f6407
|
4
|
+
data.tar.gz: 7e2c65f5610918bc51f85815342e046477d64600
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88c16b92bd4bec98173b533e9f03a0b6ab706933c382144c159832b738dce0cd5d295363f8b9d96e727f5239662e5dce98df0119ecbefbdf3c1879c4cddc2bc0
|
7
|
+
data.tar.gz: 40b3f4c3291493aa76b9832f697265ee1c01fc0ce34ab1e8e40b1d6d000e5a833cd2f85c3f73a61e0cb417456509db49309023360a751e50254696bcfebc2786
|
data/CHANGELOG.md
CHANGED
@@ -7,7 +7,19 @@
|
|
7
7
|
* backward incompatible change: renamed `send_message` to `send`
|
8
8
|
* code refactor
|
9
9
|
|
10
|
-
|
11
10
|
0.2.1
|
12
11
|
-----
|
13
12
|
* Add `send_message` back to keep backward compatibility
|
13
|
+
|
14
|
+
0.3.0
|
15
|
+
-----
|
16
|
+
* remove `code` attribute from `SmsManager::SendingError`
|
17
|
+
* Made changes so that you don't need to rescue `HTTPClient` exceptions. Rescue only `SmsManager::SendingError`
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
begin
|
21
|
+
SmsManager.send number: '+420123456789', message: 'Hello!'
|
22
|
+
rescue SmsManager::Error => e
|
23
|
+
puts e.message # => Neplatný parametr gateway
|
24
|
+
end
|
25
|
+
```
|
data/Gemfile.lock
CHANGED
data/lib/sms_manager.rb
CHANGED
@@ -17,8 +17,12 @@ module SmsManager
|
|
17
17
|
number: options[:number],
|
18
18
|
message: options[:message]
|
19
19
|
}
|
20
|
-
|
21
|
-
|
20
|
+
begin
|
21
|
+
body = HTTPClient.get('http://http-api.smsmanager.cz/Send', options).body
|
22
|
+
rescue StandardError => e
|
23
|
+
raise Error.new(e.message)
|
24
|
+
end
|
25
|
+
raise SendingError.new(body) unless body =~ /^OK/
|
22
26
|
end
|
23
27
|
|
24
28
|
def send_message(options = {})
|
@@ -1,13 +1,15 @@
|
|
1
|
-
|
2
|
-
class SendingError < StandardError
|
3
|
-
attr_reader :options, :code
|
1
|
+
require 'sms_manager/error/error'
|
4
2
|
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
module SmsManager
|
4
|
+
class SendingError < Error
|
5
|
+
def initialize(body)
|
6
|
+
code = body.split('|').last.to_i
|
7
|
+
super code_to_message(code)
|
8
8
|
end
|
9
9
|
|
10
|
-
|
10
|
+
private
|
11
|
+
|
12
|
+
def code_to_message(code)
|
11
13
|
if code >= 900 && code <= 999
|
12
14
|
CODE_9XX
|
13
15
|
elsif CODES[code]
|
@@ -17,8 +19,6 @@ module SmsManager
|
|
17
19
|
end
|
18
20
|
end
|
19
21
|
|
20
|
-
private
|
21
|
-
|
22
22
|
CODES = {
|
23
23
|
101 => 'Neexistující data požadavku (chybí XMLDATA parametr u XML API)',
|
24
24
|
102 => 'Metoda neexistuje',
|
data/lib/sms_manager/version.rb
CHANGED
data/sms_manager.gemspec
CHANGED
@@ -6,12 +6,13 @@ require 'sms_manager/version'
|
|
6
6
|
Gem::Specification.new do |gem|
|
7
7
|
gem.name = "sms_manager"
|
8
8
|
gem.version = SmsManager::Version
|
9
|
-
gem.date = '2016-01-
|
9
|
+
gem.date = '2016-01-18'
|
10
10
|
gem.authors = ["David Hrachovy"]
|
11
11
|
gem.email = ["david.hrachovy@gmail.com"]
|
12
12
|
gem.description = %q{Ruby SDK for smsmanager.cz API}
|
13
13
|
gem.summary = %q{SmsManager is a Ruby library for sending SMS messages by smsmanager.cz provider}
|
14
|
-
gem.homepage = "https://github.com/
|
14
|
+
gem.homepage = "https://github.com/PrimeHammer/sms_manager"
|
15
|
+
gem.required_ruby_version = '>= 2.0'
|
15
16
|
gem.add_dependency "httpclient", "~> 2.7.0"
|
16
17
|
gem.add_development_dependency "bundler"
|
17
18
|
gem.files = `git ls-files`.split($/)
|
data/spec/sms_manager_spec.rb
CHANGED
@@ -30,14 +30,22 @@ describe SmsManager do
|
|
30
30
|
stub_send.to_return body: 'ERROR|103'
|
31
31
|
|
32
32
|
expect { SmsManager.send number: '+420123456789', message: 'Hello!' }.to \
|
33
|
-
raise_error(SmsManager::
|
34
|
-
expect(e.code).to eq(103)
|
33
|
+
raise_error(SmsManager::Error) do |e|
|
35
34
|
expect(e.message).to eq('Neplatné uživatelské jméno nebo heslo')
|
36
35
|
end
|
37
36
|
end
|
37
|
+
|
38
|
+
it 'raises SmsManager error if HTTP request fails' do
|
39
|
+
expect(HTTPClient).to receive(:get).and_raise HTTPClient::ConnectTimeoutError.new('oops')
|
40
|
+
|
41
|
+
expect { SmsManager.send number: '+420123456789', message: 'Hello!' }.to \
|
42
|
+
raise_error(SmsManager::Error) do |e|
|
43
|
+
expect(e.message).to eq('oops')
|
44
|
+
end
|
45
|
+
end
|
38
46
|
end
|
39
47
|
|
40
|
-
describe 'send' do
|
48
|
+
describe 'send message' do
|
41
49
|
before do
|
42
50
|
SmsManager.configure do |config|
|
43
51
|
config.username = 'david@example.com'
|
@@ -56,11 +64,19 @@ describe SmsManager do
|
|
56
64
|
stub_send.to_return body: 'ERROR|103'
|
57
65
|
|
58
66
|
expect { SmsManager.send_message number: '+420123456789', message: 'Hello!' }.to \
|
59
|
-
raise_error(SmsManager::
|
60
|
-
expect(e.code).to eq(103)
|
67
|
+
raise_error(SmsManager::Error) do |e|
|
61
68
|
expect(e.message).to eq('Neplatné uživatelské jméno nebo heslo')
|
62
69
|
end
|
63
70
|
end
|
71
|
+
|
72
|
+
it 'raises SmsManager error if HTTP request fails' do
|
73
|
+
expect(HTTPClient).to receive(:get).and_raise HTTPClient::ConnectTimeoutError.new('oops')
|
74
|
+
|
75
|
+
expect { SmsManager.send_message number: '+420123456789', message: 'Hello!' }.to \
|
76
|
+
raise_error(SmsManager::Error) do |e|
|
77
|
+
expect(e.message).to eq('oops')
|
78
|
+
end
|
79
|
+
end
|
64
80
|
end
|
65
81
|
|
66
82
|
def stub_send
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sms_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Hrachovy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httpclient
|
@@ -55,12 +55,13 @@ files:
|
|
55
55
|
- README.md
|
56
56
|
- Rakefile
|
57
57
|
- lib/sms_manager.rb
|
58
|
+
- lib/sms_manager/error/error.rb
|
58
59
|
- lib/sms_manager/error/sending_error.rb
|
59
60
|
- lib/sms_manager/version.rb
|
60
61
|
- sms_manager.gemspec
|
61
62
|
- spec/sms_manager_spec.rb
|
62
63
|
- spec/spec_helper.rb
|
63
|
-
homepage: https://github.com/
|
64
|
+
homepage: https://github.com/PrimeHammer/sms_manager
|
64
65
|
licenses:
|
65
66
|
- MIT
|
66
67
|
metadata: {}
|
@@ -72,7 +73,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
72
73
|
requirements:
|
73
74
|
- - ">="
|
74
75
|
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
+
version: '2.0'
|
76
77
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
78
|
requirements:
|
78
79
|
- - ">="
|