mote_sms 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
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