clickatell 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,6 @@
1
+ == 0.8.2
2
+ * Allow numbers to have a leading + when using the CLI
3
+
1
4
  == 0.8.1
2
5
  * Updated the sms utility error message
3
6
 
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{clickatell}
8
- s.version = "0.8.1"
8
+ s.version = "0.8.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Luke Redpath"]
12
- s.date = %q{2010-08-13}
12
+ s.date = %q{2010-09-09}
13
13
  s.default_executable = %q{sms}
14
14
  s.email = %q{luke@lukeredpath.co.uk}
15
15
  s.executables = ["sms"]
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
40
40
  "lib/core-ext/hash.rb",
41
41
  "scripts/txt2html",
42
42
  "spec/api_spec.rb",
43
- "spec/cli_options_test.rb",
43
+ "spec/cli_options_spec.rb",
44
44
  "spec/command_executor_spec.rb",
45
45
  "spec/hash_ext_spec.rb",
46
46
  "spec/response_spec.rb",
@@ -63,12 +63,11 @@ Gem::Specification.new do |s|
63
63
  s.summary = %q{Ruby interface to the Clickatell SMS gateway service.}
64
64
  s.test_files = [
65
65
  "spec/api_spec.rb",
66
- "spec/cli_options_test.rb",
66
+ "spec/cli_options_spec.rb",
67
67
  "spec/command_executor_spec.rb",
68
68
  "spec/hash_ext_spec.rb",
69
69
  "spec/response_spec.rb",
70
- "spec/spec_helper.rb",
71
- "test/clickatell_api_test.rb"
70
+ "spec/spec_helper.rb"
72
71
  ]
73
72
 
74
73
  if s.respond_to? :specification_version then
@@ -65,7 +65,7 @@ module Clickatell
65
65
  end
66
66
  end
67
67
 
68
- @options.recipient = args[-2].split(',') rescue nil
68
+ @options.recipient = args[-2].split(',').map { |r| r.gsub(/^\+/, '') } rescue nil
69
69
  @options.message = args[-1]
70
70
 
71
71
  parser.parse!(args)
@@ -2,7 +2,7 @@ module Clickatell #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 8
5
- TINY = 1
5
+ TINY = 2
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
 
@@ -0,0 +1,30 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+ require File.dirname(__FILE__) + '/../lib/clickatell/utility'
3
+
4
+ describe "CLI options" do
5
+
6
+ context "when sending a message" do
7
+ it "should allow single recipients" do
8
+ options = Clickatell::Utility::Options.parse(%w{07944123456 testing})
9
+ options.recipient.should include("07944123456")
10
+ end
11
+
12
+ it "should allow multiple, comma-separated recipients" do
13
+ options = Clickatell::Utility::Options.parse(%w{07944123456,07944123457 testing})
14
+ options.recipient.should include(*%w{07944123456 07944123457})
15
+ end
16
+
17
+ it "should strip + symbols from the beginning of numbers" do
18
+ options = Clickatell::Utility::Options.parse(%w{+447944123456 testing})
19
+ options.recipient.should include("447944123456")
20
+ end
21
+ end
22
+
23
+ context "when checking balance" do
24
+ it "should not require a recipient" do
25
+ options = Clickatell::Utility::Options.parse(%w{-b})
26
+ options.recipient.should be_nil
27
+ end
28
+ end
29
+
30
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clickatell
3
3
  version: !ruby/object:Gem::Version
4
- hash: 61
4
+ hash: 59
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 8
9
- - 1
10
- version: 0.8.1
9
+ - 2
10
+ version: 0.8.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Luke Redpath
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-13 00:00:00 +01:00
18
+ date: 2010-09-09 00:00:00 +01:00
19
19
  default_executable: sms
20
20
  dependencies: []
21
21
 
@@ -51,7 +51,7 @@ files:
51
51
  - lib/core-ext/hash.rb
52
52
  - scripts/txt2html
53
53
  - spec/api_spec.rb
54
- - spec/cli_options_test.rb
54
+ - spec/cli_options_spec.rb
55
55
  - spec/command_executor_spec.rb
56
56
  - spec/hash_ext_spec.rb
57
57
  - spec/response_spec.rb
@@ -66,7 +66,6 @@ files:
66
66
  - website/stylesheets/rdoc.css
67
67
  - website/stylesheets/screen.css
68
68
  - website/template.rhtml
69
- - test/clickatell_api_test.rb
70
69
  has_rdoc: true
71
70
  homepage: http://clickatell.rubyforge.org
72
71
  licenses: []
@@ -104,9 +103,8 @@ specification_version: 3
104
103
  summary: Ruby interface to the Clickatell SMS gateway service.
105
104
  test_files:
106
105
  - spec/api_spec.rb
107
- - spec/cli_options_test.rb
106
+ - spec/cli_options_spec.rb
108
107
  - spec/command_executor_spec.rb
109
108
  - spec/hash_ext_spec.rb
110
109
  - spec/response_spec.rb
111
110
  - spec/spec_helper.rb
112
- - test/clickatell_api_test.rb
@@ -1,26 +0,0 @@
1
- require 'test/unit'
2
- require 'shoulda'
3
- require File.join(File.dirname(__FILE__), *%w[.. lib clickatell utility])
4
-
5
- class CliOptionsTest < Test::Unit::TestCase
6
-
7
- context "Sending a message" do
8
- should "allow single recipients" do
9
- options = Clickatell::Utility::Options.parse(%w{07944123456 testing})
10
- assert_equal %w{07944123456}, options.recipient
11
- end
12
-
13
- should "allow multiple, comma-separated recipients" do
14
- options = Clickatell::Utility::Options.parse(%w{07944123456,07944123457 testing})
15
- assert_equal %w{07944123456 07944123457}, options.recipient
16
- end
17
- end
18
-
19
- context "Checking balance" do
20
- should "not require a recipient" do
21
- options = Clickatell::Utility::Options.parse(%w{-b})
22
- assert_nil options.recipient
23
- end
24
- end
25
-
26
- end
@@ -1,94 +0,0 @@
1
- require 'test_helper'
2
- require 'clickatell/api'
3
-
4
- class ClickatellApiTest < Test::Unit::TestCase
5
-
6
- context "Clickatell::API" do
7
- setup do
8
- @client = mock('client')
9
- @client.stubs(:session_id).returns('dummy_session_id')
10
-
11
- @api = Clickatell::API.new(@client)
12
- end
13
-
14
- context "#ping" do
15
- should "perform the ping command with the current session id" do
16
- @client.expects(:perform_command).with('ping',
17
- has_entry(:session_id => 'dummy_session_id')).returns(stub_response)
18
- @api.ping
19
- end
20
-
21
- should "return true when successful" do
22
- @client.stubs(:perform_command).with('ping', anything).returns(stub_response("OK:"))
23
- assert @api.ping
24
- end
25
-
26
- should "return false when failed" do
27
- @client.stubs(:perform_command).with('ping', anything).returns(stub_response("ERR:"))
28
- assert !@api.ping
29
- end
30
- end
31
-
32
- context "#send_message with a single recipient" do
33
- should "perform the sendmsg command with the correct options" do
34
- @client.expects(:perform_command).with('sendmsg',
35
- has_entries(:to => '07999000000', :text => 'testing')).returns(stub_response)
36
-
37
- @api.send_message('07999000000', 'testing')
38
- end
39
-
40
- should "allow a custom sender to be set" do
41
- @client.expects(:perform_command).with('sendmsg',
42
- has_entry(:from => 'SENDER')).returns(stub_response)
43
-
44
- @api.send_message('07999000000', 'testing', :from => 'SENDER')
45
- end
46
-
47
- should "set the req_feat parameter when specifying a custom sender" do
48
- @client.expects(:perform_command).with('sendmsg',
49
- has_entry(:req_feat => '48')).returns(stub_response)
50
-
51
- @api.send_message('07999000000', 'testing', :from => 'SENDER')
52
- end
53
-
54
- should "set the mobile originated flag if specified" do
55
- @client.expects(:perform_command).with('sendmsg',
56
- has_entry(:mo => '1')).returns(stub_response)
57
-
58
- @api.send_message('07999000000', 'testing', :set_mobile_originated => true)
59
- end
60
-
61
- should "return a single message ID" do
62
- @client.stubs(:perform_command).returns(stub_response(%{
63
- ID: 99999123
64
- }))
65
- assert_equal %w{99999123}, @api.send_message('07999000000', 'testing')
66
- end
67
- end
68
-
69
- context "#send_message with multiple recipients" do
70
- should "perform the sendmsg command with a comma-separated list of recipients" do
71
- @client.expects(:perform_command).with('sendmsg',
72
- has_entry(:to => '07999000000,07999000001,07999000002')).returns(stub_response)
73
-
74
- @api.send_message(%w{07999000000 07999000001 07999000002}, 'testing')
75
- end
76
-
77
- should "return an array of message IDs" do
78
- @client.stubs(:perform_command).returns(stub_response(%{
79
- ID: 0000001
80
- ID: 0000002
81
- ID: 0000003
82
- }))
83
- expected = %w{0000001 0000002 0000003}
84
- assert_equal expected, @api.send_message(%w{07999000000 07999000001 07999000002}, 'testing')
85
- end
86
- end
87
- end
88
-
89
- private
90
-
91
- def stub_response(body = '', code = 200)
92
- stub('Net::HTTP::Response', :code => 200, :body => body)
93
- end
94
- end