mote_sms 1.0.1 → 1.0.2

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c312886b6c0d6e48f72f426ba3efe178752581d5
4
+ data.tar.gz: 16edf6e1e061cf5a7004996e6fc83be54e5bb09d
5
+ SHA512:
6
+ metadata.gz: af66032a5d8c66e65184c714bd3901a85797ccbaac71d26b1045c24a75b7fa78f521c9f20de50f0d3291ffa601e8986cfc4573f506296c58ab526e74233f5d7b
7
+ data.tar.gz: 2460d1109f8f138db675389344e589761b98ac307c17f950995b6d6f42aa75cb04cd3d873a48acbaa61cacdda22be3726c6d423a0654186aafd865ad84910327
data/.travis.yml CHANGED
@@ -3,3 +3,4 @@ rvm:
3
3
  - jruby-19mode
4
4
  - rbx-19mode
5
5
  - 1.9.3
6
+ - 2.0.0
@@ -1,3 +1,3 @@
1
1
  module MoteSMS
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
data/mote_sms.gemspec CHANGED
@@ -19,10 +19,10 @@ Gem::Specification.new do |gem|
19
19
 
20
20
  gem.required_ruby_version = '>= 1.9'
21
21
 
22
- gem.add_dependency 'phony', ['~> 1.7.0']
22
+ gem.add_dependency 'phony', ['~> 1.7']
23
23
 
24
24
  gem.add_development_dependency 'rake'
25
- gem.add_development_dependency 'rspec', ['~> 2.10']
25
+ gem.add_development_dependency 'rspec', ['~> 2.14']
26
26
  gem.add_development_dependency 'webmock', ['~> 1.8.0']
27
27
  gem.add_development_dependency 'actionmailer', ['>= 3.2']
28
28
  end
@@ -8,26 +8,26 @@ describe MoteSMS::Message do
8
8
  to '+41 79 123 12 12'
9
9
  body 'This is the SMS content'
10
10
  end
11
- msg.from.number.should == 'SENDER'
12
- msg.to.normalized_numbers.should == %w{41791231212}
13
- msg.body.should == 'This is the SMS content'
11
+ expect(msg.from.number).to be == 'SENDER'
12
+ expect(msg.to.normalized_numbers).to be == %w{41791231212}
13
+ expect(msg.body).to be == 'This is the SMS content'
14
14
  end
15
15
 
16
16
  context '#to' do
17
17
  it 'behaves as accessor' do
18
18
  subject.to = '41791231212'
19
- subject.to.normalized_numbers.should == %w{41791231212}
19
+ expect(subject.to.normalized_numbers).to be == %w{41791231212}
20
20
  end
21
21
 
22
22
  it 'behaves as array' do
23
23
  subject.to << '41791231212'
24
24
  subject.to << '41797775544'
25
- subject.to.normalized_numbers.should == %w{41791231212 41797775544}
25
+ expect(subject.to.normalized_numbers).to be == %w{41791231212 41797775544}
26
26
  end
27
27
 
28
28
  it 'normalizes numbers' do
29
29
  subject.to = '+41 79 123 12 12'
30
- subject.to.normalized_numbers.should == %w{41791231212}
30
+ expect(subject.to.normalized_numbers).to be == %w{41791231212}
31
31
  end
32
32
  end
33
33
 
@@ -36,24 +36,24 @@ describe MoteSMS::Message do
36
36
  subject { described_class.new(transport) }
37
37
 
38
38
  it "sends messages to transport" do
39
- transport.should_receive(:deliver).with(subject, {})
39
+ expect(transport).to receive(:deliver).with(subject, {})
40
40
  subject.deliver
41
41
  end
42
42
 
43
43
  it "can pass additional attributes to transport" do
44
- transport.should_receive(:deliver).with(subject, serviceid: "myapplication")
44
+ expect(transport).to receive(:deliver).with(subject, serviceid: "myapplication")
45
45
  subject.deliver serviceid: "myapplication"
46
46
  end
47
47
 
48
48
  it "can override per message transport using :transport option" do
49
- transport.should_not_receive(:deliver)
49
+ expect(transport).to_not receive(:deliver)
50
50
  subject.deliver transport: double(deliver: true)
51
51
  end
52
52
 
53
53
  it "uses global MoteSMS.transport if no per message transport defined" do
54
54
  message = described_class.new
55
- transport.should_receive(:deliver).with(message, {})
56
- MoteSMS.should_receive(:transport) { transport }
55
+ expect(transport).to receive(:deliver).with(message, {})
56
+ expect(MoteSMS).to receive(:transport) { transport }
57
57
  message.deliver
58
58
  end
59
59
  end
@@ -3,31 +3,31 @@ require 'mote_sms/number_list'
3
3
 
4
4
  describe MoteSMS::NumberList do
5
5
  it 'has length' do
6
- subject.length.should == 0
6
+ expect(subject.length).to be == 0
7
7
  subject << '+41 79 111 22 33'
8
- subject.length.should == 1
8
+ expect(subject.length).to be == 1
9
9
  5.times { subject << '+41 79 222 33 44' }
10
- subject.length.should == 6
10
+ expect(subject.length).to be == 6
11
11
  end
12
12
 
13
13
  it 'has empty?' do
14
- subject.empty?.should be_true
14
+ expect(subject.empty?).to be_true
15
15
  subject << '+41 79 111 22 33'
16
- subject.empty?.should be_false
16
+ expect(subject.empty?).to be_false
17
17
  end
18
18
 
19
19
  it 'can add numbers by string' do
20
20
  subject << '+41 79 111 22 33'
21
- subject.normalized_numbers.should == %w{41791112233}
21
+ expect(subject.normalized_numbers).to be == %w{41791112233}
22
22
  end
23
23
 
24
24
  it 'can multiple numbers using push' do
25
25
  subject.push '+41 79 111 22 33', '+41 44 111 22 33'
26
- subject.normalized_numbers.should == %w{41791112233 41441112233}
26
+ expect(subject.normalized_numbers).to be == %w{41791112233 41441112233}
27
27
  end
28
28
 
29
29
  it 'can push multiple numbers with adding country codes' do
30
30
  subject.push '079 111 22 33', '0041 44 111 22 33', cc: '41', ndc: /(44|79)/
31
- subject.normalized_numbers.should == %w{41791112233 41441112233}
31
+ expect(subject.normalized_numbers).to be == %w{41791112233 41441112233}
32
32
  end
33
33
  end
@@ -36,15 +36,15 @@ describe MoteSMS::Number do
36
36
 
37
37
  context 'non conforming number' do
38
38
  it 'raises error when creating' do
39
- Proc.new { described_class.new('what ever?') }.should raise_error(ArgumentError, /unable to parse/i)
40
- Proc.new { described_class.new('0000') }.should raise_error(ArgumentError)
41
- Proc.new { described_class.new('123456789012345678901') }.should raise_error(ArgumentError)
39
+ expect { described_class.new('what ever?') }.to raise_error(ArgumentError, /unable to parse/i)
40
+ expect { described_class.new('0000') }.to raise_error(ArgumentError)
41
+ expect { described_class.new('123456789012345678901') }.to raise_error(ArgumentError)
42
42
  end
43
43
  end
44
44
 
45
45
  context 'wrong cc/ndc' do
46
46
  it 'raises error when creating instance with wrong ndc' do
47
- Proc.new { described_class.new('+41 44 364 35 33', cc: '41', ndc: '43') }.should raise_error(ArgumentError, /national destination/i)
47
+ expect { described_class.new('+41 44 364 35 33', cc: '41', ndc: '43') }.to raise_error(ArgumentError, /national destination/i)
48
48
  end
49
49
  end
50
50
 
@@ -57,13 +57,13 @@ describe MoteSMS::Number do
57
57
  its(:vanity?) { should be_true }
58
58
 
59
59
  it 'raises error if more than 11 alpha numeric chars' do
60
- Proc.new { described_class.new('1234567890AB', vanity: true) }.should raise_error(ArgumentError, /invalid vanity/i)
60
+ expect { described_class.new('1234567890AB', vanity: true) }.to raise_error(ArgumentError, /invalid vanity/i)
61
61
  end
62
62
 
63
63
  it 'can also be normal phone number' do
64
64
  num = described_class.new('0800 123 12 12', vanity: true)
65
- num.to_s.should == '08001231212'
66
- num.to_number.should == '08001231212'
65
+ expect(num.to_s).to be == '08001231212'
66
+ expect(num.to_number).to be == '08001231212'
67
67
  end
68
68
  end
69
69
  end
@@ -19,9 +19,9 @@ describe MoteSMS::ActionMailerTransport do
19
19
 
20
20
  it 'sends SMS as e-mail' do
21
21
  subject.deliver message
22
- email.to.should == ["sms@example.com"]
23
- email.from.should == ["sms@example.com"]
24
- email.subject.should == "SMS to +41 79 123 12 12"
25
- email.body.should == "This is the SMS content"
22
+ expect(email.to).to be == ["sms@example.com"]
23
+ expect(email.from).to be == ["sms@example.com"]
24
+ expect(email.subject).to be == "SMS to +41 79 123 12 12"
25
+ expect(email.body).to be == "This is the SMS content"
26
26
  end
27
27
  end
@@ -7,7 +7,7 @@ require 'mote_sms/transports/mobile_technics_transport'
7
7
  describe MoteSMS::MobileTechnicsTransport do
8
8
  before do
9
9
  @logger = described_class.logger
10
- described_class.logger = stub(debug: true, info: true, error: true)
10
+ described_class.logger = double("logger", debug: true, info: true, error: true)
11
11
  end
12
12
 
13
13
  after do
@@ -33,10 +33,10 @@ describe MoteSMS::MobileTechnicsTransport do
33
33
  it "sends POST to endpoint with URL encoded body" do
34
34
  stub_request(:post, endpoint).with do |req|
35
35
  params = CGI.parse(req.body)
36
- params['username'].should == %w{example}
37
- params['password'].should == %w{123456}
38
- params['text'].should == ['Hello World, with äöü.']
39
- params['call-number'].should == ['0041791231212']
36
+ expect(params['username']).to be == %w{example}
37
+ expect(params['password']).to be == %w{123456}
38
+ expect(params['text']).to be == ['Hello World, with äöü.']
39
+ expect(params['call-number']).to be == ['0041791231212']
40
40
  end.to_return(success)
41
41
  subject.deliver message
42
42
  end
@@ -51,17 +51,17 @@ describe MoteSMS::MobileTechnicsTransport do
51
51
 
52
52
  it 'raises exception if required parameter is missing' do
53
53
  stub_request(:post, endpoint).to_return(body: 'Result_code: 02, call-number')
54
- Proc.new { subject.deliver message }.should raise_error(MoteSMS::MobileTechnicsTransport::ServiceError)
54
+ expect { subject.deliver message }.to raise_error(MoteSMS::MobileTechnicsTransport::ServiceError)
55
55
  end
56
56
 
57
57
  it 'raises exception if status code is not 200' do
58
58
  stub_request(:post, endpoint).to_return(status: 500)
59
- Proc.new { subject.deliver message }.should raise_error(MoteSMS::MobileTechnicsTransport::ServiceError)
59
+ expect { subject.deliver message }.to raise_error(MoteSMS::MobileTechnicsTransport::ServiceError)
60
60
  end
61
61
 
62
62
  it 'returns message id' do
63
63
  stub_request(:post, endpoint).to_return(success)
64
- subject.deliver(message).should == %w{43797917}
64
+ expect(subject.deliver(message)).to be == %w{43797917}
65
65
  end
66
66
 
67
67
  it 'logs curl compatible output' do
@@ -70,21 +70,21 @@ describe MoteSMS::MobileTechnicsTransport do
70
70
  stub_request(:post, endpoint).to_return(success)
71
71
  subject.deliver message
72
72
  io.rewind
73
- io.read.should =~ %r{curl -XPOST 'http://test.nth.ch' -d 'allow_adaption=1&}
73
+ expect(io.read).to match %r{curl -XPOST 'http://test.nth.ch' -d 'allow_adaption=1&}
74
74
  end
75
75
  end
76
76
 
77
77
  context "#options" do
78
78
  it 'can be passed in as last item in the constructor' do
79
79
  transport = described_class.new endpoint, 'user', 'pass', allow_adaption: false, validity: 30
80
- transport.options[:allow_adaption].should be_false
81
- transport.options[:validity].should == 30
82
- transport.options[:something].should be_nil
80
+ expect(transport.options[:allow_adaption]).to be_false
81
+ expect(transport.options[:validity]).to be == 30
82
+ expect(transport.options[:something]).to be_nil
83
83
  end
84
84
 
85
85
  it 'should be exposed as hash' do
86
86
  subject.options[:messageid] = "test"
87
- subject.options[:messageid].should == "test"
87
+ expect(subject.options[:messageid]).to be == "test"
88
88
  end
89
89
 
90
90
  it 'overrides settings from #defaults' do
@@ -6,12 +6,12 @@ describe MoteSMS::TestTransport do
6
6
  before { MoteSMS.deliveries.clear }
7
7
 
8
8
  it 'defines global #deliveries' do
9
- MoteSMS.should respond_to(:deliveries)
9
+ expect(MoteSMS).to respond_to(:deliveries)
10
10
  end
11
11
 
12
12
  it 'appends deliveries' do
13
13
  subject.deliver "firstMessage"
14
14
  subject.deliver "secondMessage"
15
- MoteSMS.deliveries.should == %w{firstMessage secondMessage}
15
+ expect(MoteSMS.deliveries).to be == %w{firstMessage secondMessage}
16
16
  end
17
17
  end
@@ -5,7 +5,7 @@ describe MoteSMS do
5
5
  subject { described_class }
6
6
 
7
7
  it 'has a version' do
8
- subject::VERSION.should =~ /\d/
8
+ expect(subject::VERSION).to match /\d/
9
9
  end
10
10
 
11
11
  context "transport" do
@@ -14,23 +14,23 @@ describe MoteSMS do
14
14
  let(:transport) { double("transport") }
15
15
 
16
16
  it "has no default transport" do
17
- subject.transport.should be_nil
17
+ expect(subject.transport).to be_nil
18
18
  end
19
19
 
20
20
  it "can change global transport" do
21
21
  subject.transport = transport
22
- subject.transport.should == transport
22
+ expect(subject.transport).to be == transport
23
23
  end
24
24
 
25
25
  context "#deliver" do
26
26
  it 'delivers quick and dirty using global transport' do
27
- transport.should_receive(:deliver).with(kind_of(MoteSMS::Message), {})
27
+ expect(transport).to receive(:deliver).with(kind_of(MoteSMS::Message), {})
28
28
  subject.transport = transport
29
29
  subject.deliver { body 'Hello World' }
30
30
  end
31
31
 
32
32
  it 'raises error if block is missing' do
33
- Proc.new { subject.deliver }.should raise_error(ArgumentError, /block missing/i)
33
+ expect { subject.deliver }.to raise_error(ArgumentError, /block missing/i)
34
34
  end
35
35
  end
36
36
  end
data/spec/spec_helper.rb CHANGED
@@ -3,3 +3,10 @@ require 'bundler/setup'
3
3
 
4
4
  require 'rspec'
5
5
  require 'webmock/rspec'
6
+
7
+ # Disable should syntax
8
+ RSpec.configure do |config|
9
+ config.expect_with :rspec do |c|
10
+ c.syntax = :expect
11
+ end
12
+ end
metadata CHANGED
@@ -1,68 +1,60 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mote_sms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Lukas Westermann
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-08-21 00:00:00.000000000 Z
11
+ date: 2013-07-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: phony
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
- version: 1.7.0
19
+ version: '1.7'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
- version: 1.7.0
26
+ version: '1.7'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
53
- version: '2.10'
47
+ version: '2.14'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
61
- version: '2.10'
54
+ version: '2.14'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: webmock
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
@@ -78,22 +69,21 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: actionmailer
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - '>='
84
74
  - !ruby/object:Gem::Version
85
75
  version: '3.2'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - '>='
92
81
  - !ruby/object:Gem::Version
93
82
  version: '3.2'
94
- description: ! "Unofficial ruby adapter for MobileTechnics HTTP Bulk SMS API.\n Tries
95
- to mimick mail API, so users can switch e.g. ActionMailer\n with
96
- this SMS provider."
83
+ description: |-
84
+ Unofficial ruby adapter for MobileTechnics HTTP Bulk SMS API.
85
+ Tries to mimick mail API, so users can switch e.g. ActionMailer
86
+ with this SMS provider.
97
87
  email:
98
88
  - lukas.westermann@at-point.ch
99
89
  executables: []
@@ -127,30 +117,26 @@ files:
127
117
  - spec/spec_helper.rb
128
118
  homepage: https://at-point.ch/opensource
129
119
  licenses: []
120
+ metadata: {}
130
121
  post_install_message:
131
122
  rdoc_options: []
132
123
  require_paths:
133
124
  - lib
134
125
  required_ruby_version: !ruby/object:Gem::Requirement
135
- none: false
136
126
  requirements:
137
- - - ! '>='
127
+ - - '>='
138
128
  - !ruby/object:Gem::Version
139
129
  version: '1.9'
140
130
  required_rubygems_version: !ruby/object:Gem::Requirement
141
- none: false
142
131
  requirements:
143
- - - ! '>='
132
+ - - '>='
144
133
  - !ruby/object:Gem::Version
145
134
  version: '0'
146
- segments:
147
- - 0
148
- hash: -686134082126475921
149
135
  requirements: []
150
136
  rubyforge_project:
151
- rubygems_version: 1.8.23
137
+ rubygems_version: 2.0.3
152
138
  signing_key:
153
- specification_version: 3
139
+ specification_version: 4
154
140
  summary: Deliver SMS using MobileTechnics HTTP API.
155
141
  test_files:
156
142
  - spec/mote_sms/message_spec.rb