sms_manager 0.2.1 → 0.3.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.
- 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
|
- - ">="
|