smsified 0.1.3 → 0.1.4
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.md +1 -1
- data/lib/smsified/oneapi.rb +13 -3
- data/lib/smsified/reporting.rb +2 -0
- data/lib/smsified/subscriptions.rb +1 -0
- data/spec/smsified_spec.rb +31 -1
- metadata +23 -23
data/README.md
CHANGED
data/lib/smsified/oneapi.rb
CHANGED
@@ -23,6 +23,7 @@ module Smsified
|
|
23
23
|
# @example
|
24
24
|
# one_api = OneAPI.new :username => 'user', :password => '123'
|
25
25
|
def initialize(options)
|
26
|
+
raise ArgumentError, 'an options Hash is required' if !options.instance_of?(Hash)
|
26
27
|
raise ArgumentError, ':username required' if options[:username].nil?
|
27
28
|
raise ArgumentError, ':password required' if options[:password].nil?
|
28
29
|
|
@@ -53,6 +54,7 @@ module Smsified
|
|
53
54
|
# one_api.send_sms :address => '14155551212', :message => 'Hi there!', :sender_address => '13035551212'
|
54
55
|
# one_api.send_sms :address => ['14155551212', '13035551212'], :message => 'Hi there!', :sender_address => '13035551212'
|
55
56
|
def send_sms(options)
|
57
|
+
raise ArgumentError, 'an options Hash is required' if !options.instance_of?(Hash)
|
56
58
|
raise ArgumentError, ':sender_address is required' if options[:sender_address].nil? && @sender_address.nil?
|
57
59
|
raise ArgumentError, ':address is required' if options[:address].nil?
|
58
60
|
raise ArgumentError, ':message is required' if options[:message].nil?
|
@@ -92,10 +94,18 @@ module Smsified
|
|
92
94
|
# Builds the necessary query string
|
93
95
|
def build_query_string(options)
|
94
96
|
query = ''
|
95
|
-
|
97
|
+
|
96
98
|
options.each do |k,v|
|
97
99
|
if k == :address
|
98
|
-
|
100
|
+
if RUBY_VERSION.to_f == 1.9
|
101
|
+
if v.instance_of?(String)
|
102
|
+
v.each_line { |address| query += "#{ '&' if query != '' }address=#{CGI.escape address}" }
|
103
|
+
else
|
104
|
+
v.each { |address| query += "#{ '&' if query != '' }address=#{CGI.escape address}" }
|
105
|
+
end
|
106
|
+
else
|
107
|
+
v.each { |address| query += "#{ '&' if query != '' }address=#{CGI.escape address}" }
|
108
|
+
end
|
99
109
|
else
|
100
110
|
query += "#{ '&' if query != '' }#{k.to_s}=#{CGI.escape v}"
|
101
111
|
end
|
@@ -104,4 +114,4 @@ module Smsified
|
|
104
114
|
query
|
105
115
|
end
|
106
116
|
end
|
107
|
-
end
|
117
|
+
end
|
data/lib/smsified/reporting.rb
CHANGED
@@ -16,6 +16,7 @@ module Smsified
|
|
16
16
|
# @example
|
17
17
|
# subscription = Subscription.new :username => 'user', :password => '123'
|
18
18
|
def initialize(options)
|
19
|
+
raise ArgumentError, 'an options Hash is required' if !options.instance_of?(Hash)
|
19
20
|
raise ArgumentError, ':username required' if options[:username].nil?
|
20
21
|
raise ArgumentError, ':password required' if options[:password].nil?
|
21
22
|
|
@@ -38,6 +39,7 @@ module Smsified
|
|
38
39
|
# @example
|
39
40
|
# one_api.delivery_status :request_id => 'f359193765f6a3149ca76a4508e21234', :sender_address => '14155551212'
|
40
41
|
def delivery_status(options)
|
42
|
+
raise ArgumentError, 'an options Hash is required' if !options.instance_of?(Hash)
|
41
43
|
raise ArgumentError, ':sender_address is required' if options[:sender_address].nil? && @sender_address.nil?
|
42
44
|
|
43
45
|
options[:sender_address] = options[:sender_address] || @sender_address
|
@@ -18,6 +18,7 @@ module Smsified
|
|
18
18
|
# @example
|
19
19
|
# subscription = Subscription.new :username => 'user', :password => '123'
|
20
20
|
def initialize(options)
|
21
|
+
raise ArgumentError, 'an options Hash is required' if !options.instance_of?(Hash)
|
21
22
|
raise ArgumentError, ':username required' if options[:username].nil?
|
22
23
|
raise ArgumentError, ':password required' if options[:password].nil?
|
23
24
|
|
data/spec/smsified_spec.rb
CHANGED
@@ -26,10 +26,16 @@ describe "Smsified" do
|
|
26
26
|
it "Should get errors if instantiating without all of the right parameters" do
|
27
27
|
begin
|
28
28
|
Smsified::OneAPI.new 'foobar'
|
29
|
+
rescue => e
|
30
|
+
e.to_s.should eql 'an options Hash is required'
|
31
|
+
end
|
32
|
+
|
33
|
+
begin
|
34
|
+
Smsified::OneAPI.new(:password => nil)
|
29
35
|
rescue => e
|
30
36
|
e.to_s.should eql ':username required'
|
31
37
|
end
|
32
|
-
|
38
|
+
|
33
39
|
begin
|
34
40
|
Smsified::OneAPI.new(:username => @username)
|
35
41
|
rescue => e
|
@@ -40,6 +46,12 @@ describe "Smsified" do
|
|
40
46
|
it "Should raise an error if no :sender_address specified" do
|
41
47
|
begin
|
42
48
|
@one_api.send_sms('foobar')
|
49
|
+
rescue => e
|
50
|
+
e.to_s.should eql 'an options Hash is required'
|
51
|
+
end
|
52
|
+
|
53
|
+
begin
|
54
|
+
@one_api.send_sms({})
|
43
55
|
rescue => e
|
44
56
|
e.to_s.should eql ':sender_address is required'
|
45
57
|
end
|
@@ -104,6 +116,12 @@ describe "Smsified" do
|
|
104
116
|
it "Should get errors if instantiating without all of the right parameters" do
|
105
117
|
begin
|
106
118
|
Smsified::Subscriptions.new 'foobar'
|
119
|
+
rescue => e
|
120
|
+
e.to_s.should eql 'an options Hash is required'
|
121
|
+
end
|
122
|
+
|
123
|
+
begin
|
124
|
+
Smsified::Subscriptions.new({})
|
107
125
|
rescue => e
|
108
126
|
e.to_s.should eql ':username required'
|
109
127
|
end
|
@@ -364,6 +382,12 @@ describe "Smsified" do
|
|
364
382
|
it "Should get errors if instantiating without all of the right parameters" do
|
365
383
|
begin
|
366
384
|
Smsified::Reporting.new 'foobar'
|
385
|
+
rescue => e
|
386
|
+
e.to_s.should eql 'an options Hash is required'
|
387
|
+
end
|
388
|
+
|
389
|
+
begin
|
390
|
+
Smsified::Reporting.new({})
|
367
391
|
rescue => e
|
368
392
|
e.to_s.should eql ':username required'
|
369
393
|
end
|
@@ -378,6 +402,12 @@ describe "Smsified" do
|
|
378
402
|
it "Should raise an error if no :sender_address specified" do
|
379
403
|
begin
|
380
404
|
@reporting.delivery_status('foobar')
|
405
|
+
rescue => e
|
406
|
+
e.to_s.should eql 'an options Hash is required'
|
407
|
+
end
|
408
|
+
|
409
|
+
begin
|
410
|
+
@reporting.delivery_status({})
|
381
411
|
rescue => e
|
382
412
|
e.to_s.should eql ':sender_address is required'
|
383
413
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smsified
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jason Goecke
|
@@ -15,10 +15,11 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-06-24 00:00:00 -07:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
+
prerelease: false
|
22
23
|
type: :development
|
23
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
25
|
none: false
|
@@ -31,10 +32,10 @@ dependencies:
|
|
31
32
|
- 3
|
32
33
|
- 0
|
33
34
|
version: 2.3.0
|
34
|
-
name: rspec
|
35
35
|
version_requirements: *id001
|
36
|
-
|
36
|
+
name: rspec
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
|
+
prerelease: false
|
38
39
|
type: :development
|
39
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
40
41
|
none: false
|
@@ -47,10 +48,10 @@ dependencies:
|
|
47
48
|
- 6
|
48
49
|
- 0
|
49
50
|
version: 0.6.0
|
50
|
-
name: yard
|
51
51
|
version_requirements: *id002
|
52
|
-
|
52
|
+
name: yard
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
+
prerelease: false
|
54
55
|
type: :development
|
55
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
56
57
|
none: false
|
@@ -63,10 +64,10 @@ dependencies:
|
|
63
64
|
- 0
|
64
65
|
- 0
|
65
66
|
version: 1.0.0
|
66
|
-
name: bundler
|
67
67
|
version_requirements: *id003
|
68
|
-
|
68
|
+
name: bundler
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
+
prerelease: false
|
70
71
|
type: :development
|
71
72
|
requirement: &id004 !ruby/object:Gem::Requirement
|
72
73
|
none: false
|
@@ -79,10 +80,10 @@ dependencies:
|
|
79
80
|
- 5
|
80
81
|
- 2
|
81
82
|
version: 1.5.2
|
82
|
-
name: jeweler
|
83
83
|
version_requirements: *id004
|
84
|
-
|
84
|
+
name: jeweler
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
|
+
prerelease: false
|
86
87
|
type: :development
|
87
88
|
requirement: &id005 !ruby/object:Gem::Requirement
|
88
89
|
none: false
|
@@ -93,10 +94,10 @@ dependencies:
|
|
93
94
|
segments:
|
94
95
|
- 0
|
95
96
|
version: "0"
|
96
|
-
name: rcov
|
97
97
|
version_requirements: *id005
|
98
|
-
|
98
|
+
name: rcov
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
|
+
prerelease: false
|
100
101
|
type: :development
|
101
102
|
requirement: &id006 !ruby/object:Gem::Requirement
|
102
103
|
none: false
|
@@ -107,10 +108,10 @@ dependencies:
|
|
107
108
|
segments:
|
108
109
|
- 0
|
109
110
|
version: "0"
|
110
|
-
name: fakeweb
|
111
111
|
version_requirements: *id006
|
112
|
-
|
112
|
+
name: fakeweb
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
|
+
prerelease: false
|
114
115
|
type: :development
|
115
116
|
requirement: &id007 !ruby/object:Gem::Requirement
|
116
117
|
none: false
|
@@ -121,10 +122,10 @@ dependencies:
|
|
121
122
|
segments:
|
122
123
|
- 0
|
123
124
|
version: "0"
|
124
|
-
name: awesome_print
|
125
125
|
version_requirements: *id007
|
126
|
-
|
126
|
+
name: awesome_print
|
127
127
|
- !ruby/object:Gem::Dependency
|
128
|
+
prerelease: false
|
128
129
|
type: :development
|
129
130
|
requirement: &id008 !ruby/object:Gem::Requirement
|
130
131
|
none: false
|
@@ -135,10 +136,10 @@ dependencies:
|
|
135
136
|
segments:
|
136
137
|
- 0
|
137
138
|
version: "0"
|
138
|
-
name: json
|
139
139
|
version_requirements: *id008
|
140
|
-
|
140
|
+
name: json
|
141
141
|
- !ruby/object:Gem::Dependency
|
142
|
+
prerelease: false
|
142
143
|
type: :runtime
|
143
144
|
requirement: &id009 !ruby/object:Gem::Requirement
|
144
145
|
none: false
|
@@ -149,9 +150,8 @@ dependencies:
|
|
149
150
|
segments:
|
150
151
|
- 0
|
151
152
|
version: "0"
|
152
|
-
name: httparty
|
153
153
|
version_requirements: *id009
|
154
|
-
|
154
|
+
name: httparty
|
155
155
|
description: Gem for consuming the SMSified OneAPI
|
156
156
|
email: jsgoecke@voxeo.com
|
157
157
|
executables: []
|
@@ -203,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
203
203
|
requirements: []
|
204
204
|
|
205
205
|
rubyforge_project:
|
206
|
-
rubygems_version: 1.5.
|
206
|
+
rubygems_version: 1.5.0
|
207
207
|
signing_key:
|
208
208
|
specification_version: 3
|
209
209
|
summary: Gem for consuming the SMSified OneAPI
|