mblox 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Nzk1MWJlNGZlNzNhZWU2YTQ3OTMxNDUzYmRiMTk1MDYyNGE5YmI2YQ==
4
+ YzUzOTg0OWI2N2UyZjBlNDM3ZjA4ZTUzNTZlNDE5NTg4YTIxMTQwMQ==
5
5
  data.tar.gz: !binary |-
6
- NmVmM2U3MTdhYWE3NDdkZGMwNjgzOGE3NTkxNjE3YTM3MTE0YWZiMg==
6
+ NmIwYzg1ZTYzNzRlMjIzYzc2ODE4NTk3OTM0Zjc1Njk5YTY5NGVlYw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NDhlYjI3ODQwNTI0MGM3MmE4YzdkZjczMmQ3ZTY5YzY0YTA0NzZhMjkwMDA4
10
- MmJmNGNiYzk2NTk1Nzc5NjdlYmM4NTQyMDExZTk4ZTE1YTMwMjg5ZWU2ODE4
11
- OGE1YzFjZjliZjdjMDhmMjBmYjQyNDhiM2MwZDljZGViMmU2NDA=
9
+ MGFhNzJlYjJjMGNiN2Y4ZGZhNzk3YzZmZTc4OTkxY2UyZjE1OWVmMGQzMGNh
10
+ YmY5Yzk1MjIyMDUyYzI3Yzk3YjZkODVjNmE5NjQ2NTU4NjY3YjQzNDZiNDYw
11
+ ZWRjZmViNDI5NjhhNTRiMTJiNDRlZmNiMTZiY2VmMDY4ZDA0Mjk=
12
12
  data.tar.gz: !binary |-
13
- YzdiNDQ0MzI1MDA3MTYyN2NlZmNjYzdiNDQ0MDY2MGM4ODU4YTQ5MzFkYTIy
14
- OTg3MDIzNmQzZTczNjJkNzg2ZDUzYzRiZjUxY2M5YWRmZDZiYmUzMmRkYmZj
15
- MTYzNTA2NTBiMWJkZjAyMTQ0ZmI2ZDkzNTE4NTk1YmZkNTdlNDg=
13
+ MDRkZTEwYzE0NDk1MGQxZTg5YWNmZWZmMjVjZjQxNGU4Y2JhNjFhYTk1NGE1
14
+ NjhiNTZlNzU0NDZhYzA3MzYzYzRiNjVhYjhjMGFiYmIyNWEyZDkyM2IyMjc4
15
+ MWVkMmQ4NmNjMzAyNzI1MTRkZDhmM2YzNzM5NzEyZjIzODBjYWE=
data/lib/mblox/sms.rb CHANGED
@@ -11,6 +11,7 @@ module Mblox
11
11
  class InvalidMessageError < ::ArgumentError; end
12
12
  class BatchIdOutOfRangeError < ::ArgumentError; end
13
13
  class InvalidSenderIdError < ::ArgumentError; end
14
+ class MessageTooLongError < ::ArgumentError; end
14
15
  MAX_LENGTH = 160
15
16
  MAX_SECTION_LENGTH = MAX_LENGTH - "(MSG XXX/XXX): ".size
16
17
  LEGAL_CHARACTERS = "~\`!\"#\$\%&'\(\)*+,-.\/:;<=>?@_£¤¥§¿i¡ÄÅÆÇÉÑÖØÜßâáäåæèéìñòöøóùüú\n\r\tí "
@@ -19,7 +20,7 @@ module Mblox
19
20
  attr_reader :phone, :message
20
21
 
21
22
  ON_MESSAGE_TOO_LONG_HANDLER = {
22
- :raise_error => Proc.new { raise InvalidMessageError, "Message cannot be longer than #{MAX_LENGTH} characters" },
23
+ :raise_error => Proc.new { raise MessageTooLongError, "Message cannot be longer than #{MAX_LENGTH} characters" },
23
24
  :truncate => Proc.new { |message| Mblox.log "Truncating message due to length. Message was: \"#{message}\" but will now be \"#{message = message[0,MAX_LENGTH]}\""; [message] },
24
25
  :split => Proc.new { |message| split_message(message) }
25
26
  }
data/lib/mblox/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mblox
2
- VERSION = "0.4.2"
2
+ VERSION = "0.5.0"
3
3
  end
data/mblox.gemspec CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
- spec.add_development_dependency "rspec"
23
+ spec.add_development_dependency "rspec", "~> 3.0"
24
24
 
25
25
  spec.add_runtime_dependency 'activemodel'
26
26
  spec.add_runtime_dependency 'activesupport'
@@ -19,7 +19,7 @@ describe Mblox::Configuration do
19
19
  end
20
20
 
21
21
  it "should default to log level debug" do
22
- Mblox.config.log_level.should eq(:debug)
22
+ expect(Mblox.config.log_level).to eq(:debug)
23
23
  expect { Mblox.log "Some debug info" }.to_not raise_error
24
24
  end
25
25
 
@@ -32,7 +32,7 @@ describe Mblox::Configuration do
32
32
  it "should not allow log level news when the logger is created before log level is set and should remain in a valid state" do
33
33
  Mblox.config.logger = ::Logger.new("/dev/null")
34
34
  expect { Mblox.config.log_at :news }.to raise_error(ArgumentError, "Mblox log level must be set to :fatal, :error, :warn, :info or :debug")
35
- Mblox.config.log_level.should eq(:debug)
35
+ expect(Mblox.config.log_level).to eq(:debug)
36
36
  expect { Mblox.log "Some news" }.to_not raise_error
37
37
  end
38
38
  end
@@ -40,20 +40,20 @@ describe Mblox::Configuration do
40
40
  describe "on_message_too_long" do
41
41
  it "should default to :raise_error" do
42
42
  Mblox.reset_configuration
43
- Mblox.config.on_message_too_long.should eq(:raise_error)
43
+ expect(Mblox.config.on_message_too_long).to eq(:raise_error)
44
44
  end
45
45
 
46
46
  [:raise_error, :split, :truncate].each do |val|
47
47
  it "should allow the value ':#{val}'" do
48
48
  expect { Mblox.config.on_message_too_long = val }.to_not raise_error
49
- Mblox.config.on_message_too_long.should eq(val)
49
+ expect(Mblox.config.on_message_too_long).to eq(val)
50
50
  end
51
51
  end
52
52
 
53
53
  it "should not allow other values and should remain in a valid state" do
54
54
  original = Mblox.config.on_message_too_long
55
55
  expect { Mblox.config.on_message_too_long = :do_nothing }.to raise_error(ArgumentError, "Mblox.config.on_message_too_long must be either :truncate, :split or :raise_error")
56
- Mblox.config.on_message_too_long.should eq(original)
56
+ expect(Mblox.config.on_message_too_long).to eq(original)
57
57
  end
58
58
  end
59
59
  end
@@ -105,13 +105,13 @@ describe Mblox::SmsReceipt do
105
105
 
106
106
  it "should access attributes for valid data" do
107
107
  target = described_class.from_xml(valid)
108
- target.batch_id.should == batch_id
109
- target.subscriber_number.should == subscriber_number
110
- target.timestamp.should == DateTime.new(2013,10,7,17,36)
111
- target.msg_reference.should == msg_reference
112
- target.status.should == status
113
- target.reason.should == reason
114
- target.operator.should == 10487
108
+ expect(target.batch_id).to eq(batch_id)
109
+ expect(target.subscriber_number).to eq(subscriber_number)
110
+ expect(target.timestamp).to eq(DateTime.new(2013,10,7,17,36))
111
+ expect(target.msg_reference).to eq(msg_reference)
112
+ expect(target.status).to eq(status)
113
+ expect(target.reason).to eq(reason)
114
+ expect(target.operator).to eq(10487)
115
115
  end
116
116
 
117
117
  it "should raise error when missing root node" do
@@ -137,21 +137,21 @@ describe Mblox::SmsReceipt do
137
137
  describe "subscriber_number" do
138
138
  it "should not drop leading character unless it is '1'" do
139
139
  target = described_class.from_xml(unexpected_nested_values)
140
- target.subscriber_number.should == "2#{subscriber_number}"
140
+ expect(target.subscriber_number).to eq("2#{subscriber_number}")
141
141
  end
142
142
  end
143
143
 
144
144
  describe "reason" do
145
145
  it "should leave reason blank if it is nil" do
146
146
  target = described_class.from_xml(unexpected_nested_values)
147
- target.reason.should be_nil
147
+ expect(target.reason).to be_nil
148
148
  end
149
149
  end
150
150
 
151
151
  describe "timestamp" do
152
152
  it "should fail gracefully if it can't be converted into a DateTime" do
153
153
  target = described_class.from_xml(unexpected_nested_values)
154
- target.timestamp.should be_nil
154
+ expect(target.timestamp).to be_nil
155
155
  end
156
156
  end
157
157
  end
@@ -5,19 +5,19 @@ describe Mblox::SmsResponse::Result do
5
5
  it "cannot be blank" do
6
6
  result = described_class.new(nil, "123")
7
7
  result.valid?
8
- result.errors[:code].should include("Code cannot be blank")
8
+ expect(result.errors[:code]).to include("Code cannot be blank")
9
9
  end
10
10
 
11
11
  it "must be a number" do
12
12
  result = described_class.new('abc', "123")
13
13
  result.valid?
14
- result.errors[:code].should include("Code must be an integer")
14
+ expect(result.errors[:code]).to include("Code must be an integer")
15
15
  end
16
16
 
17
17
  it "must be an integer" do
18
18
  result = described_class.new(3.14159, "123")
19
19
  result.valid?
20
- result.errors[:code].should include("Code must be an integer")
20
+ expect(result.errors[:code]).to include("Code must be an integer")
21
21
  end
22
22
  end
23
23
 
@@ -25,18 +25,18 @@ describe Mblox::SmsResponse::Result do
25
25
  it "cannot be blank" do
26
26
  result = described_class.new(0, '')
27
27
  result.valid?
28
- result.errors[:text].should include("Text cannot be blank")
28
+ expect(result.errors[:text]).to include("Text cannot be blank")
29
29
  end
30
30
  end
31
31
 
32
32
  describe "ok?" do
33
33
  it "is true for code 0" do
34
- described_class.new(0, "123").ok?.should be_true
34
+ expect(described_class.new(0, "123")).to be_ok
35
35
  end
36
36
 
37
37
  10.times do |i|
38
38
  it "is false for code #{i+1}" do
39
- described_class.new(i+1, "123").ok?.should be_false
39
+ expect(described_class.new(i+1, "123")).not_to be_ok
40
40
  end
41
41
  end
42
42
  end
@@ -45,18 +45,18 @@ describe Mblox::SmsResponse::Result do
45
45
  it "should be true if code and text are the same" do
46
46
  lhs = described_class.new(0, 'OK')
47
47
  rhs = described_class.new(0, 'OK')
48
- (lhs == rhs).should be_true
48
+ expect(lhs).to eq(rhs)
49
49
  end
50
50
 
51
51
  it "should be false if code does not match" do
52
52
  lhs = described_class.new(0, 'OK')
53
53
  rhs = described_class.new(4, 'OK')
54
- (lhs == rhs).should be_false
54
+ expect(lhs).not_to eq(rhs)
55
55
  end
56
56
  it "should be false if text does not match" do
57
57
  lhs = described_class.new(0, 'OK')
58
58
  rhs = described_class.new(0, '__OK__')
59
- (lhs == rhs).should be_false
59
+ expect(lhs).not_to eq(rhs)
60
60
  end
61
61
  end
62
62
  end
@@ -5,21 +5,21 @@ describe Mblox::SmsResponse do
5
5
  let(:args) { { :request => Mblox::SmsResponse::Result.new(9, "SomeRequest"), :result => Mblox::SmsResponse::Result.new(10, "SomeResult") , :subscriber_result => Mblox::SmsResponse::Result.new(11, "SomeSubscriberResult") } }
6
6
 
7
7
  [:request, :result, :subscriber_result].each do |attr|
8
- describe attr do
8
+ describe "##{attr}" do
9
9
  it "must be a Result" do
10
10
  expect{described_class.new(args.merge(:"#{attr}" => 123))}.to raise_error(Mblox::ValidationError, "#{attr} must be of type Mblox::SmsResponse::Result")
11
11
  end
12
12
  end
13
13
  end
14
14
  [:request, :result].each do |attr|
15
- describe attr do
15
+ describe "##{attr}" do
16
16
  it "cannot be blank" do
17
17
  expect{described_class.new(args.merge(:"#{attr}" => nil))}.to raise_error(Mblox::ValidationError, "#{attr} cannot be blank")
18
18
  end
19
19
  end
20
20
  end
21
21
 
22
- describe :subscriber_result do
22
+ describe '#subscriber_result' do
23
23
  it "cannot be blank if result is ok" do
24
24
  expect{described_class.new(args.merge(:subscriber_result => nil))}.to_not raise_error
25
25
  end
@@ -45,17 +45,17 @@ describe Mblox::SmsResponse do
45
45
  let(:args) { { :request => Mblox::SmsResponse::Result.new(0, "OKRequest"), :result => Mblox::SmsResponse::Result.new(0, "OKResult") , :subscriber_result => Mblox::SmsResponse::Result.new(0, "OKSubscriberResult") } }
46
46
 
47
47
  it "should be ok if all attributes are ok" do
48
- described_class.new(args).should be_ok
48
+ expect(described_class.new(args)).to be_ok
49
49
  end
50
50
 
51
51
  [:request, :result, :subscriber_result].each do |attr|
52
52
  it "should not be ok if #{attr} is not ok" do
53
- described_class.new(args.merge(:"#{attr}" => Mblox::SmsResponse::Result.new(1,"NotOK"))).should_not be_ok
53
+ expect(described_class.new(args.merge(:"#{attr}" => Mblox::SmsResponse::Result.new(1,"NotOK")))).not_to be_ok
54
54
  end
55
55
  end
56
56
 
57
57
  it "should be unroutable if subscriber_result is unroutable and other attirbutes are ok" do
58
- described_class.new(args.merge(:subscriber_result => Mblox::SmsResponse::Result::UNROUTABLE)).should be_unroutable
58
+ expect(described_class.new(args.merge(:subscriber_result => Mblox::SmsResponse::Result::UNROUTABLE))).to be_unroutable
59
59
  end
60
60
  end
61
61
  end
data/spec/sms_spec.rb CHANGED
@@ -33,7 +33,7 @@ describe Mblox::Sms do
33
33
  number = TEST_NUMBER.to_s
34
34
  mblox = Mblox::Sms.new(number,the_message)
35
35
  number[1..3] = ''
36
- mblox.phone.should eq("1#{TEST_NUMBER}")
36
+ expect(mblox.phone).to eq("1#{TEST_NUMBER}")
37
37
  end
38
38
  end
39
39
 
@@ -50,39 +50,39 @@ describe Mblox::Sms do
50
50
  message = "A"+"ABCDEFGHIJ"*16
51
51
  Mblox.config.on_message_too_long = :truncate
52
52
  expect { @mblox = Mblox::Sms.new(LANDLINE, message) }.to_not raise_error
53
- @mblox.message.should eq([message[0,160]])
53
+ expect(@mblox.message).to eq([message[0,160]])
54
54
  end
55
55
 
56
56
  it "cannot be longer than 160 characters if configured to raise error" do
57
57
  Mblox.config.on_message_too_long = :raise_error
58
- expect { Mblox::Sms.new(LANDLINE, "A"*161) }.to raise_error(Mblox::Sms::InvalidMessageError, "Message cannot be longer than 160 characters")
58
+ expect { Mblox::Sms.new(LANDLINE, "A"*161) }.to raise_error(Mblox::Sms::MessageTooLongError, "Message cannot be longer than 160 characters")
59
59
  end
60
60
 
61
61
  it "should be split into multiple messages when longer than 160 characters if configured to split and even split" do
62
62
  message = "ABCDEFGHIJ"*58
63
63
  Mblox.config.on_message_too_long = :split
64
64
  expect { @mblox = Mblox::Sms.new(LANDLINE, message) }.to_not raise_error
65
- @mblox.message.should eq(["(MSG 1/4): #{message[0,145]}", "(MSG 2/4): #{message[145,145]}", "(MSG 3/4): #{message[290,145]}", "(MSG 4/4): #{message[435,145]}"])
65
+ expect(@mblox.message).to eq(["(MSG 1/4): #{message[0,145]}", "(MSG 2/4): #{message[145,145]}", "(MSG 3/4): #{message[290,145]}", "(MSG 4/4): #{message[435,145]}"])
66
66
  response = @mblox.send
67
- response.count.should eq(4)
68
- response.each { |r| r.unroutable?.should be_true }
67
+ expect(response.count).to eq(4)
68
+ response.each { |r| expect(r).to be_unroutable }
69
69
  end
70
70
 
71
71
  it "should be split into multiple messages when longer than 160 characters if configured to split and not even split" do
72
72
  message = "ABCDEFGHIJ"*32
73
73
  Mblox.config.on_message_too_long = :split
74
74
  expect { @mblox = Mblox::Sms.new(LANDLINE, message) }.to_not raise_error
75
- @mblox.message.should eq(["(MSG 1/3): #{message[0,145]}", "(MSG 2/3): #{message[145,145]}", "(MSG 3/3): #{message[290..-1]}"])
75
+ expect(@mblox.message).to eq(["(MSG 1/3): #{message[0,145]}", "(MSG 2/3): #{message[145,145]}", "(MSG 3/3): #{message[290..-1]}"])
76
76
  response = @mblox.send
77
- response.count.should eq(3)
78
- response.each { |r| r.unroutable?.should be_true }
77
+ expect(response.count).to eq(3)
78
+ response.each { |r| expect(r).to be_unroutable }
79
79
  end
80
80
 
81
81
  it "should be safe from changing when short" do
82
82
  msg = the_message
83
83
  mblox = Mblox::Sms.new(TEST_NUMBER,msg)
84
84
  msg[1..3] = ''
85
- mblox.message.should eq([the_message])
85
+ expect(mblox.message).to eq([the_message])
86
86
  end
87
87
 
88
88
  it "should be safe from changing when long when configured to split" do
@@ -90,7 +90,7 @@ describe Mblox::Sms do
90
90
  msg = the_message * 10
91
91
  mblox = Mblox::Sms.new(TEST_NUMBER,msg)
92
92
  msg[1..3] = ''
93
- mblox.message[0][11, 20].should eq(the_message[0,20])
93
+ expect(mblox.message[0][11, 20]).to eq(the_message[0,20])
94
94
  end
95
95
 
96
96
  it "should be safe from changing when long when configured to truncate" do
@@ -98,82 +98,85 @@ describe Mblox::Sms do
98
98
  msg = the_message * 10
99
99
  mblox = Mblox::Sms.new(TEST_NUMBER,msg)
100
100
  msg[1..3] = ''
101
- mblox.message[0][0, 20].should eq(the_message[0,20])
101
+ expect(mblox.message[0][0, 20]).to eq(the_message[0,20])
102
102
  end
103
103
  end
104
104
 
105
105
  describe "SMS messages" do
106
106
  def expect_ok_response(response)
107
- response.ok?.should be_true
108
- response.unroutable?.should be_false
107
+ expect(response).to be_ok
108
+ expect(response).not_to be_unroutable
109
109
  end
110
110
 
111
111
  it "should be sent when the phone number is a Fixnum" do
112
112
  response = Mblox::Sms.new(TEST_NUMBER.to_i,the_message).send
113
- response.size.should eq(1)
113
+ expect(response.size).to eq(1)
114
114
  expect_ok_response(response.first)
115
115
  end
116
116
 
117
117
  it "should be sent when the phone number is a String" do
118
118
  response = Mblox::Sms.new(TEST_NUMBER.to_s,the_message).send
119
- response.size.should eq(1)
119
+ expect(response.size).to eq(1)
120
120
  expect_ok_response(response.first)
121
121
  end
122
122
 
123
123
  it "should allow 160-character messages" do
124
124
  response = Mblox::Sms.new(TEST_NUMBER,"A"*160).send
125
- response.size.should eq(1)
125
+ expect(response.size).to eq(1)
126
126
  expect_ok_response(response.first)
127
127
  end
128
128
 
129
129
  it "should be unroutable when sent to a landline" do
130
130
  response = Mblox::Sms.new(LANDLINE,the_message).send
131
- response.size.should eq(1)
132
- response.first.unroutable?.should be_true, "#{response.first.inspect} should have been unroutable"
133
- response.first.ok?.should be_false
131
+ expect(response.size).to eq(1)
132
+ expect(response.first).to be_unroutable, "#{response.first.inspect} should have been unroutable"
133
+ expect(response.first).not_to be_ok
134
134
  end
135
135
 
136
136
  Mblox::Sms::LEGAL_CHARACTERS.each_char do |i|
137
137
  it "allows the special char #{i}, correctly escaping illegal XML characters where necessary" do
138
138
  response = Mblox::Sms.new(LANDLINE,"#{the_message}#{i}#{the_message}").send
139
- response.size.should eq(1)
140
- response.first.ok?.should be_false
141
- response.first.unroutable?.should be_true
139
+ expect(response.size).to eq(1)
140
+ expect(response.first).not_to be_ok
141
+ expect(response.first).to be_unroutable
142
142
  end
143
143
  end
144
144
 
145
145
  it "can send all the legal characters" do
146
146
  response = Mblox::Sms.new(TEST_NUMBER,Mblox::Sms::LEGAL_CHARACTERS).send
147
- response.size.should eq(1)
148
- response.first.ok?.should be_true
147
+ expect(response.size).to eq(1)
148
+ expect(response.first).to be_ok
149
149
  end
150
150
 
151
151
  it "can send a backslash" do
152
152
  response = Mblox::Sms.new(TEST_NUMBER,'\\').send
153
- response.size.should eq(1)
154
- response.first.ok?.should be_true
153
+ expect(response.size).to eq(1)
154
+ expect(response.first).to be_ok
155
155
  end
156
156
  end
157
157
 
158
158
  describe "batch_id" do
159
+ def batch_id(content)
160
+ content['NotificationRequest']['NotificationList']['BatchID']
161
+ end
159
162
  it "can be specified" do
160
163
  batch_id = 12345
161
164
  sms = Mblox::Sms.new(LANDLINE,the_message, batch_id)
162
165
  content = Hash.from_xml(sms.build_for_test(the_message))
163
- content['NotificationRequest']['NotificationList']['BatchID'].should eq("#{batch_id}")
166
+ expect(batch_id(content)).to eq("#{batch_id}")
164
167
  end
165
168
 
166
169
  it "get converted to a Fixnum" do
167
170
  batch_id = 12345
168
171
  sms = Mblox::Sms.new(LANDLINE,the_message, "#{batch_id}ab")
169
172
  content = Hash.from_xml(sms.build_for_test(the_message))
170
- content['NotificationRequest']['NotificationList']['BatchID'].should eq("#{batch_id}")
173
+ expect(batch_id(content)).to eq("#{batch_id}")
171
174
  end
172
175
 
173
176
  it "defaults to 1" do
174
177
  sms = Mblox::Sms.new(LANDLINE,the_message)
175
178
  content = Hash.from_xml(sms.build_for_test(the_message))
176
- content['NotificationRequest']['NotificationList']['BatchID'].should eq('1')
179
+ expect(batch_id(content)).to eq('1')
177
180
  end
178
181
 
179
182
  it "can be 99999999" do
@@ -233,21 +236,21 @@ describe Mblox::Sms do
233
236
  end
234
237
 
235
238
  it "should send from the specified sender_id" do
236
- @sms.instance_variable_get("@sender_id").should be_nil
239
+ expect(@sms.instance_variable_get("@sender_id")).to be_nil
237
240
  expect{@sms.send_from(55555)}.to_not raise_error
238
- @sms.send.first.ok?.should be_true
239
- @sms.instance_variable_get("@sender_id").should == "55555"
241
+ expect(@sms.send.first).to be_ok
242
+ expect(@sms.instance_variable_get("@sender_id")).to eq("55555")
240
243
  end
241
244
 
242
245
  it "should send from the specified sender_id and service_id" do
243
- @sms.instance_variable_get("@service_id").should be_nil
246
+ expect(@sms.instance_variable_get("@service_id")).to be_nil
244
247
  expect{@sms.send_from(55555, 44444)}.to_not raise_error
245
248
  response = @sms.send.first
246
- response.should_not be_ok
247
- response.request.should be_ok
248
- response.result.should be_ok
249
- response.subscriber_result.should == Mblox::SmsResponse::Result.new(10, "MsipRejectCode=63 Invalid ServiceId:2e Do not retry:2e")
250
- @sms.instance_variable_get("@service_id").should == "44444"
249
+ expect(response).not_to be_ok
250
+ expect(response.request).to be_ok
251
+ expect(response.result).to be_ok
252
+ expect(response.subscriber_result).to eq(Mblox::SmsResponse::Result.new(10, "MsipRejectCode=63 Invalid ServiceId:2e Do not retry:2e"))
253
+ expect(@sms.instance_variable_get("@service_id")).to eq("44444")
251
254
  end
252
255
  end
253
256
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mblox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Betesh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-05 00:00:00.000000000 Z
11
+ date: 2014-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ! '>='
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '3.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ! '>='
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activemodel
57
57
  requirement: !ruby/object:Gem::Requirement