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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e4c603afa0deded30e5cb06376e840fc8abbb893
4
- data.tar.gz: ac12ef1fa59399065cc9ed33bf65f6a5ab284779
3
+ metadata.gz: 1b6c5f47ed9565f01fe97dfc14ad5129298f6407
4
+ data.tar.gz: 7e2c65f5610918bc51f85815342e046477d64600
5
5
  SHA512:
6
- metadata.gz: 5e2c4942edc14ad882abb5a7373de45e7e984c062683250de7c554ec79d19ce674bc4c6057dc88a1a7938cccd32b18116a76a981b983c8d829ea3c093c78cfa7
7
- data.tar.gz: 693bce49dc61dd1cb1342be6b8f4620340f4e06ad2d833bd6708a28977737956b78c74c940bfe1d4fb6a3e4943bd6e0f4194199062e1cf1bf675325f053614af
6
+ metadata.gz: 88c16b92bd4bec98173b533e9f03a0b6ab706933c382144c159832b738dce0cd5d295363f8b9d96e727f5239662e5dce98df0119ecbefbdf3c1879c4cddc2bc0
7
+ data.tar.gz: 40b3f4c3291493aa76b9832f697265ee1c01fc0ce34ab1e8e40b1d6d000e5a833cd2f85c3f73a61e0cb417456509db49309023360a751e50254696bcfebc2786
@@ -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
+ ```
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sms_manager (0.2.1)
4
+ sms_manager (0.3.0)
5
5
  httpclient (~> 2.7.0)
6
6
 
7
7
  GEM
@@ -17,8 +17,12 @@ module SmsManager
17
17
  number: options[:number],
18
18
  message: options[:message]
19
19
  }
20
- body = HTTPClient.get('http://http-api.smsmanager.cz/Send', options).body
21
- raise SendingError.new(options, body) unless body =~ /^OK/
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 = {})
@@ -0,0 +1,3 @@
1
+ module SmsManager
2
+ class Error < StandardError; end
3
+ end
@@ -1,13 +1,15 @@
1
- module SmsManager
2
- class SendingError < StandardError
3
- attr_reader :options, :code
1
+ require 'sms_manager/error/error'
4
2
 
5
- def initialize(options, body)
6
- @code = body.split('|').last.to_i
7
- @options = options
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
- def message
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',
@@ -1,8 +1,8 @@
1
1
  module SmsManager
2
2
  class Version
3
3
  MAJOR = 0
4
- MINOR = 2
5
- PATCH = 1
4
+ MINOR = 3
5
+ PATCH = 0
6
6
 
7
7
  class << self
8
8
  def to_s
@@ -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-16'
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/dayweek/sms_manager"
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($/)
@@ -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::SendingError) do |e|
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::SendingError) do |e|
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.2.1
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-16 00:00:00.000000000 Z
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/dayweek/sms_manager
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
  - - ">="