mblox 0.2.8 → 0.2.9

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
- Y2M2NzBjYjMwNDk4NDkzOWUwZDNjMWZjNTgzZjYxNzY2MGNlMDM0Yw==
4
+ ODgwZjU3MWFlNWUzYjI1OTAxNzBlY2MwMmI0NTNhZmE0Y2M1YjMxMw==
5
5
  data.tar.gz: !binary |-
6
- YjkyYjAwZWQ0ZTE5NjVhZThmMThhZjQyOWJlZDc0YzAwMzI3ZGE1Ng==
6
+ OGVkNTE1ZWRmZjY1ZmRkN2JlMmJlYmU2MTQ1ZmQyMjEzODExYzdmMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YmIyODJiOGQ4OWI0MDc3MDI1ZmFkZmFjNjVlMzAxYzllYjUzNTg3Y2M3ZmY0
10
- ODEyNzYxNmU0OTg5MTM5MmZmN2NiZjE5MGI1ODdkYzFlMGYzZmRhODdmMjdh
11
- NzY3MjlhZWRhNzNmYWRmYTY3MzI1NmNkNjQ3MTVhYzVmN2IxYTM=
9
+ OGYyYjhlNjQxNjljM2Q5M2I3NDZjZGZmZmMzNGU4Y2I0ZDdmZDQ5ZmMzN2Y3
10
+ YzlmODE1YjFmZTI1YWU2M2I5MmEwMWJiYTM0ZjRlNmRmMjlhMzQ0M2NmZjFk
11
+ MDdjMmQyMjY4OTgxMmJjOWI1MWJhNDRmOThjOTg0NmRkNjk5ZWM=
12
12
  data.tar.gz: !binary |-
13
- ZDE3NTljM2NjNjkzODcyNDg5MTljZGM5ZDgzNDliY2E0YjRhY2FhNjgzMzJi
14
- Y2M4MTM5OGEwMWZiNjY0ODBhNGEzN2Q0OGUxMTkyYzUzOGRlNjdjZDRiYmNj
15
- ZWIyNzI2YzA0OTcxNGE1NmQ5MjQwODJmZWQ3ZDRkZTI2MzA1OWU=
13
+ NWUyMTNkZTVjZDYxOTg2MTVmNTdlMTdlYjZhZDNmNWY5YjgyMGQ5NDBkZDli
14
+ ZWNlN2I4OWYwMWUxMzY2N2IwYzhiMjI1OGZmNWY5ZDcyYzU5NTMzMWJjNjFk
15
+ ZGM0MDI1MTFlYTdhOGM4NmM5MjQ5YTQzY2M1MDAwMjY0YjA1YTc=
data/README.md CHANGED
@@ -56,7 +56,7 @@ Copy config.yml.example to config.yml and set all the values in that file. Run:
56
56
 
57
57
  rspec
58
58
 
59
- You should recieve 5 SMS messages to your phone within several seconds.
59
+ You should recieve 6 SMS messages to your phone within several seconds.
60
60
 
61
61
  ## Contributing
62
62
 
@@ -10,6 +10,7 @@ module Mblox
10
10
  class InvalidPhoneNumberError < ::ArgumentError; end
11
11
  class InvalidMessageError < ::ArgumentError; end
12
12
  class BatchIdOutOfRangeError < ::ArgumentError; end
13
+ class InvalidSenderIdError < ::ArgumentError; end
13
14
  MAX_LENGTH = 160
14
15
  MAX_SECTION_LENGTH = MAX_LENGTH - "(MSG XXX/XXX): ".size
15
16
  LEGAL_CHARACTERS = "~\`!\"#\$\%&'\(\)*+,-.\/:;<=>?@_£¤¥§¿i¡ÄÅÆÇÉÑÖØÜßáäåæèéìñòöøóùüú\n\r\tí "
@@ -37,6 +38,11 @@ module Mblox
37
38
  @batch_id = batch_id.to_i unless batch_id.blank?
38
39
  end
39
40
 
41
+ def send_from(_)
42
+ raise InvalidSenderIdError, "You can only send from a 5-digit shortcode" unless ((_.is_a?(Fixnum) || _.is_a?(String)) && 5 == _.to_i.to_s.size)
43
+ @sender_id = _.to_i.to_s
44
+ end
45
+
40
46
  def send
41
47
  @message.collect { |message| commit build(message) }
42
48
  end
@@ -64,7 +70,7 @@ module Mblox
64
70
  m.cdata!(message)
65
71
  end
66
72
  n.Profile(Mblox.config.profile_id)
67
- n.SenderID(Mblox.config.sender_id, :Type => :Shortcode)
73
+ n.SenderID(@sender_id || Mblox.config.sender_id, :Type => :Shortcode)
68
74
  n.Tariff(Mblox.config.tariff)
69
75
  n.Subscriber do |s|
70
76
  s.SubscriberNumber(@phone)
@@ -1,3 +1,3 @@
1
1
  module Mblox
2
- VERSION = "0.2.8"
2
+ VERSION = "0.2.9"
3
3
  end
@@ -184,4 +184,29 @@ describe Mblox::Sms do
184
184
  expect{Mblox::Sms.new(LANDLINE,the_message, 100000000)}.to raise_error(Mblox::Sms::BatchIdOutOfRangeError, 'batch_id must be in the range 1 to 99999999. The batch_id specified (100000000) is out of range.')
185
185
  end
186
186
  end
187
+
188
+ describe "send from" do
189
+ before(:each) do
190
+ @sms = Mblox::Sms.new(TEST_NUMBER,'This message should come from shortcode 55555')
191
+ end
192
+ def raise_invalid_sender_id_error
193
+ raise_error(Mblox::Sms::InvalidSenderIdError, 'You can only send from a 5-digit shortcode')
194
+ end
195
+ it "should not allow a 4-digit number" do
196
+ expect{@sms.send_from(1234)}.to raise_invalid_sender_id_error
197
+ end
198
+ it "should not allow a 6-digit number" do
199
+ expect{@sms.send_from(123456)}.to raise_invalid_sender_id_error
200
+ end
201
+ it "should not allow a blank string" do
202
+ expect{@sms.send_from('')}.to raise_invalid_sender_id_error
203
+ end
204
+ it "should not allow a float" do
205
+ expect{@sms.send_from(12345.6)}.to raise_invalid_sender_id_error
206
+ end
207
+ it "should send from the value" do
208
+ expect{@sms.send_from(55555)}.to_not raise_error
209
+ @sms.send.first.ok?.should be_true
210
+ end
211
+ end
187
212
  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.2.8
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Betesh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-14 00:00:00.000000000 Z
11
+ date: 2013-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -176,7 +176,7 @@ summary: ! '# Mblox This gem is for subscribers to Mblox to send SMS messages.
176
176
  to sending to must be a 10-digit number, including the area code. Can be a String
177
177
  or Fixnum. phone_number = 2225555555 # or: phone_number = "2225555555" Mblox::Sms.new(phone_number,
178
178
  "your message").send ## Testing Copy config.yml.example to config.yml and set
179
- all the values in that file. Run: rspec You should recieve 5 SMS messages to
179
+ all the values in that file. Run: rspec You should recieve 6 SMS messages to
180
180
  your phone within several seconds. ## Contributing 1. Fork it 2. Create your feature
181
181
  branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am
182
182
  ''Add some feature''`) 4. Push to the branch (`git push origin my-new-feature`)