bulksms 0.5.0 → 0.5.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.
- data/README.rdoc +1 -0
- data/examples/client.rb +3 -2
- data/lib/bulksms/account.rb +4 -1
- data/lib/bulksms/configuration.rb +17 -1
- data/lib/bulksms/message.rb +2 -2
- data/lib/bulksms/version.rb +1 -1
- data/spec/account_spec.rb +10 -0
- data/spec/configuration_spec.rb +2 -1
- data/spec/message_spec.rb +8 -0
- metadata +6 -6
data/README.rdoc
CHANGED
data/examples/client.rb
CHANGED
@@ -22,6 +22,7 @@ Bulksms.config do |c|
|
|
22
22
|
c.username = username
|
23
23
|
c.password = password
|
24
24
|
c.country = country
|
25
|
+
c.routing_group = 3 # Normally 2!
|
25
26
|
end
|
26
27
|
|
27
28
|
begin
|
@@ -42,7 +43,7 @@ message = gets.strip
|
|
42
43
|
|
43
44
|
puts "\nThank you. Processing...\n\n"
|
44
45
|
|
45
|
-
response = Bulksms.
|
46
|
+
response = Bulksms.deliver(:message => message, :recipient => recipient)
|
46
47
|
|
47
48
|
if response.success?
|
48
49
|
puts "Your SMS was sent successfully.\n\n"
|
@@ -50,7 +51,7 @@ if response.success?
|
|
50
51
|
puts "Goodbye!"
|
51
52
|
else
|
52
53
|
puts "Sorry, but your SMS was not sent this time. The service returned the error:"
|
53
|
-
puts "\n\t#{response.code}: #{response.
|
54
|
+
puts "\n\t#{response.code}: #{response.result}\n\n"
|
54
55
|
puts "Please try again later. Goodbye."
|
55
56
|
end
|
56
57
|
|
data/lib/bulksms/account.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
|
2
|
+
require 'cgi'
|
3
|
+
|
1
4
|
module Bulksms
|
2
5
|
|
3
6
|
class AccountError < Exception; end
|
@@ -51,7 +54,7 @@ module Bulksms
|
|
51
54
|
end
|
52
55
|
|
53
56
|
def params_to_query_string(params)
|
54
|
-
|
57
|
+
params.collect{|k,v| "#{k}=#{CGI.escape(v.to_s)}"}.join('&')
|
55
58
|
end
|
56
59
|
|
57
60
|
end
|
@@ -2,15 +2,30 @@ module Bulksms
|
|
2
2
|
|
3
3
|
class Configuration
|
4
4
|
|
5
|
+
# Standard connection details
|
5
6
|
attr_accessor :username
|
6
7
|
attr_accessor :password
|
7
|
-
attr_accessor :country
|
8
8
|
attr_accessor :host
|
9
9
|
attr_accessor :port
|
10
|
+
|
11
|
+
# Set the country code when no host has been provided. Should be
|
12
|
+
# one of:
|
13
|
+
# :uk, :usa, :safrica, :spain, :international (default)
|
14
|
+
attr_accessor :country
|
15
|
+
|
16
|
+
# Path added to host to send a message
|
17
|
+
# Known as send_sms method in BulkSMS API.
|
10
18
|
attr_accessor :message_path
|
19
|
+
|
20
|
+
# Path added to host to request credits
|
11
21
|
attr_accessor :credits_path
|
22
|
+
|
23
|
+
# Message Class, 0 (Flash SMS), 1, 2 (default, normal SMS, stored to SIM card), 3.
|
12
24
|
attr_accessor :message_class
|
13
25
|
|
26
|
+
# Routing group, possible values are 1, 2, 3
|
27
|
+
attr_accessor :routing_group
|
28
|
+
|
14
29
|
def initialize
|
15
30
|
# Prepare default options
|
16
31
|
self.country = :international
|
@@ -18,6 +33,7 @@ module Bulksms
|
|
18
33
|
self.message_path = "/eapi/submission/send_sms/2/2.0"
|
19
34
|
self.credits_path = "/eapi/user/get_credits/1/1.1"
|
20
35
|
self.message_class = 2
|
36
|
+
self.routing_group = 2
|
21
37
|
end
|
22
38
|
|
23
39
|
# Overide the default host config so that a short name will be converted
|
data/lib/bulksms/message.rb
CHANGED
@@ -15,9 +15,9 @@ module Bulksms
|
|
15
15
|
def initialize(opts = {})
|
16
16
|
@message = opts[:message]
|
17
17
|
@recipient = opts[:recipient]
|
18
|
-
@msg_class = Bulksms.config.message_class
|
18
|
+
@msg_class = opts[:message_class] || Bulksms.config.message_class
|
19
19
|
@want_report = 0
|
20
|
-
@routing_group =
|
20
|
+
@routing_group = opts[:routing_group] || Bulksms.config.routing_group
|
21
21
|
@source_id = ''
|
22
22
|
@test_always_succeed = opts[:test_always_succeed] || 0
|
23
23
|
@test_always_fail = opts[:test_always_fail] || 0
|
data/lib/bulksms/version.rb
CHANGED
data/spec/account_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: utf-8
|
1
2
|
|
2
3
|
require 'spec_helper'
|
3
4
|
|
@@ -81,6 +82,15 @@ describe Bulksms::Account do
|
|
81
82
|
|
82
83
|
end
|
83
84
|
|
85
|
+
describe "#params_to_query_string" do
|
86
|
+
it "converts params to string" do
|
87
|
+
txt = @account.send(:params_to_query_string, :msg => "Random çharacters -and- symbols +34123123123", :some => :symbol)
|
88
|
+
txt.should include("Random+%C3%A7hara")
|
89
|
+
txt.should include("%2B34123")
|
90
|
+
txt.should include("some=symbol")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
84
94
|
end
|
85
95
|
|
86
96
|
end
|
data/spec/configuration_spec.rb
CHANGED
@@ -9,7 +9,7 @@ describe Bulksms::Configuration do
|
|
9
9
|
describe "accessors" do
|
10
10
|
it "should be provided" do
|
11
11
|
[:username, :password, :country, :host, :port, :message_path,
|
12
|
-
:credits_path, :message_class].each do |accessor|
|
12
|
+
:credits_path, :message_class, :routing_group].each do |accessor|
|
13
13
|
@config.should respond_to accessor
|
14
14
|
end
|
15
15
|
end
|
@@ -23,6 +23,7 @@ describe Bulksms::Configuration do
|
|
23
23
|
@config.message_path.should_not be_empty
|
24
24
|
@config.credits_path.should_not be_empty
|
25
25
|
@config.message_class.should eql(2)
|
26
|
+
@config.routing_group.should eql(2)
|
26
27
|
end
|
27
28
|
|
28
29
|
end
|
data/spec/message_spec.rb
CHANGED
@@ -15,6 +15,14 @@ describe Bulksms::Message do
|
|
15
15
|
@msg.recipient.should eql("1234")
|
16
16
|
end
|
17
17
|
|
18
|
+
it "should allow overrides" do
|
19
|
+
@msg = Bulksms::Message.new :message => "foo", :recipient => '1234', :routing_group => 3,
|
20
|
+
:test_always_succeed => 1, :message_class => 1
|
21
|
+
@msg.routing_group.should eql(3)
|
22
|
+
@msg.msg_class.should eql(1)
|
23
|
+
@msg.test_always_succeed.should eql(1)
|
24
|
+
end
|
25
|
+
|
18
26
|
end
|
19
27
|
|
20
28
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bulksms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-11-
|
14
|
+
date: 2011-11-30 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rspec
|
18
|
-
requirement: &
|
18
|
+
requirement: &14000900 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :development
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *14000900
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fakeweb
|
29
|
-
requirement: &
|
29
|
+
requirement: &13999120 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ! '>='
|
@@ -34,7 +34,7 @@ dependencies:
|
|
34
34
|
version: '0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *13999120
|
38
38
|
description: Send SMS text messages via the BulkSMS API.
|
39
39
|
email:
|
40
40
|
- me@samlown.com
|