mblox 0.2.0 → 0.2.1

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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MThhODgzMTYwYWZmMTdjNDJmNDAyZjY0MjUxMmE0Mzk3YzdmYjRiYw==
4
+ NTE2NzFlOTIxYjBiYjA5YWJhNjEyYzk1ZjcwYzQxZDY3NDVhOTFiNw==
5
5
  data.tar.gz: !binary |-
6
- YjgyYzE4MGMzNmU4ZDExOGI4NTgzNWE4YWEyODVjOTJlMmY4OTc2Yg==
6
+ ZDZmNDc0YmVlMzdjM2M4ZGRmNjA5OTFlNzc3YjViNGIzZDRhNGZhNA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- OTFmODUwMmRhYmUyNGI1ODY4ZDQ4MTU4YzM1OTgyNmZlYmYxZGY3NWIyMzc0
10
- Mjc1Y2I3YzNmZGI2Y2I5NzBjNDdjYWViNTM2OTVkOGZhMzBhYzRiNjVjZWYx
11
- NjgxNzJlNTc0Mzc0YmU1ODM0NDJjMjhlZGY3Nzk3NGYzOGJmZjk=
9
+ YjdjZDA1YWNjZjg4MDZjN2Y4YmI0NzkwOTk4ODM1Y2ZkNjNlN2FjODliZWQ1
10
+ MTliNzIyN2VhMGRkZGY0M2JhYWM0YjU1OTU4ZWM4ZTIzODEzYTQ0MzgzMjYw
11
+ N2NlMmM2Zjc0ZDE5ZDVhZDIwM2EwODY5MjU3ODU4ZWQ2NTAxNWI=
12
12
  data.tar.gz: !binary |-
13
- NGFkYTc4MGIyZmQyYWI3YjRlM2M5YjQ1MjE4OWJiOGMzNzM5ZjBkODlhMGRm
14
- YWU5ODQ2ZjU0MGYxNWQ2ODBjODIzNDhiYTY3NTA3MDM0ZWUzNDE2NGI4OTRl
15
- OTg3NmZkYjAxMzUxNmJkMjI5Yzc3ZDdjMjIyMzJjZGNlODMzYjA=
13
+ OWEzYmNjOTU0MjBkYTZiYmRiODBiNTAxMmQyNjlhNzFlOGY3MjRiNmQ3ZTYw
14
+ MWFlYTEyYWQ4ZmJiYjQ2Y2QzZGY2ZmIxNjNmZDNkNTVhYmQ3ZDk3OGRiMDA3
15
+ MmQ0NDNjMGUyNmFiZWYyNmJiMzJmZjc5MmFjNTU5NGJmNDBjNjk=
@@ -21,7 +21,7 @@ module Mblox
21
21
  :split => Proc.new { |message| split_message(message) }
22
22
  }
23
23
 
24
- def initialize(phone,message)
24
+ def initialize(phone, message, batch_id=nil)
25
25
  phone = phone.to_s
26
26
  raise InvalidPhoneNumberError, "Phone number must be ten digits" unless /\A[0-9]{10}\z/.match(phone)
27
27
  raise InvalidPhoneNumberError, "Phone number cannot begin with 0 or 1" if ['0','1'].include?(phone[0].to_s)
@@ -31,6 +31,7 @@ module Mblox
31
31
  Mblox.log "WARNING: Some characters may be lost because the message must be broken into at least 1000 sections" if message.size > (999 * MAX_SECTION_LENGTH)
32
32
  @message = (message.size > MAX_LENGTH) ? ON_MESSAGE_TOO_LONG_HANDLER[Mblox.config.on_message_too_long].call(message) : [message.dup]
33
33
  @phone = "1#{phone}"
34
+ @batch_id = batch_id.to_i unless batch_id.blank?
34
35
  end
35
36
 
36
37
  def send
@@ -54,7 +55,7 @@ module Mblox
54
55
  nh.PartnerName(Mblox.config.partner_name)
55
56
  nh.PartnerPassword(Mblox.config.password)
56
57
  end
57
- nr.NotificationList(:BatchID => 1) do |nl|
58
+ nr.NotificationList(:BatchID => @batch_id || 1) do |nl|
58
59
  nl.Notification(:SequenceNumber => 1, :MessageType => :SMS, :Format => :UTF8) do |n|
59
60
  n.Message do |m|
60
61
  m.cdata!(message)
@@ -1,3 +1,3 @@
1
1
  module Mblox
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
@@ -1,6 +1,14 @@
1
1
  # encoding: UTF-8
2
2
  require "spec_helper"
3
3
 
4
+ module Mblox
5
+ class Sms
6
+ def build_for_test(message)
7
+ build(message)
8
+ end
9
+ end
10
+ end
11
+
4
12
  describe Mblox::Sms do
5
13
  def the_message
6
14
  "Mblox gem test sent at #{Time.now}"
@@ -134,4 +142,26 @@ describe Mblox::Sms do
134
142
  end
135
143
  end
136
144
  end
145
+
146
+ describe "batch_id" do
147
+ it "can be specified" do
148
+ batch_id = 12345
149
+ sms = Mblox::Sms.new(LANDLINE,the_message, batch_id)
150
+ content = Hash.from_xml(sms.build_for_test(the_message))
151
+ content['NotificationRequest']['NotificationList']['BatchID'].should eq("#{batch_id}")
152
+ end
153
+
154
+ it "get converted to a Fixnum" do
155
+ batch_id = 12345
156
+ sms = Mblox::Sms.new(LANDLINE,the_message, "#{batch_id}ab")
157
+ content = Hash.from_xml(sms.build_for_test(the_message))
158
+ content['NotificationRequest']['NotificationList']['BatchID'].should eq("#{batch_id}")
159
+ end
160
+
161
+ it "defaults to 1" do
162
+ sms = Mblox::Sms.new(LANDLINE,the_message)
163
+ content = Hash.from_xml(sms.build_for_test(the_message))
164
+ content['NotificationRequest']['NotificationList']['BatchID'].should eq('1')
165
+ end
166
+ end
137
167
  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.0
4
+ version: 0.2.1
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-09 00:00:00.000000000 Z
11
+ date: 2013-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler