clockworksms 1.2.0 → 1.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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 450e85fc680bce613a59f96008cceead7f67c156
4
- data.tar.gz: c36c1c47426c39f47adcbe707de3513efc01b777
3
+ metadata.gz: b320572710fdd15caaa287b035fb5986e1716e6a
4
+ data.tar.gz: 4f245423d51515acd428a39b4943e45c8c916160
5
5
  SHA512:
6
- metadata.gz: 91f9d8fcedd15f1eeca4568aee53e9f3489bc1fba9955f1f513d8b91a4fdc3d5cde23680e35b92a3a8f0e02324612b46e85e7868a273d4924cede635b5538516
7
- data.tar.gz: f672c7dab613a575879122867ae6e31d805c60d5d4d4091aba3e1eec41869d2f6b2a180fb5d4d05d426d8306cc4242984da20cdcf3cd63404eeb33d49bbd5c0e
6
+ metadata.gz: 5b73d28a88ab322b465c97617e4439019017910ac93a4471f7b7f8464c84945c7a9bc1428122a31b5c5149cd3c988be97b51720631256509e8727859ad3e2b26
7
+ data.tar.gz: 172feb809d68e8b4ba93251508f975be48a9ffc770b009d10afb6e9066ea52c9bca268a0ae6e2e52dd0076365e727b48c1b803fa8cdff543383e0253533c9155
data/Gemfile CHANGED
@@ -1,8 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'faraday'
4
-
5
- group :development do
6
- gem 'rake'
7
- gem 'rspec'
8
- end
3
+ gemspec
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Clockwork SMS API Ruby Gem
2
-
2
+ [![Gem Version](https://badge.fury.io/rb/clockworksms.svg)](http://badge.fury.io/rb/clockworksms)
3
3
  ## Install
4
4
 
5
5
  Just add the following to your Gemfile:
@@ -18,71 +18,80 @@ For more information on the available optional parameters for each SMS (Clockwor
18
18
 
19
19
  ### Send a single SMS message
20
20
 
21
- require 'clockwork'
22
- api = Clockwork::API.new( 'API_KEY_GOES_HERE' )
23
- message = api.messages.build( :to => '441234123456', :content => 'This is a test message.' )
24
- response = message.deliver
25
-
26
- if response.success
27
- puts response.message_id
28
- else
29
- puts response.error_code
30
- puts response.error_description
31
- end
21
+ ```ruby
22
+ require 'clockwork'
23
+ api = Clockwork::API.new( 'API_KEY_GOES_HERE' )
24
+ message = api.messages.build( :to => '441234123456', :content => 'This is a test message.' )
25
+ response = message.deliver
32
26
 
27
+ if response.success
28
+ puts response.message_id
29
+ else
30
+ puts response.error_code
31
+ puts response.error_description
32
+ end
33
+ ```
34
+
33
35
  ### Alternative usage for sending an SMS message
34
36
 
35
- require 'clockwork'
36
- api = Clockwork::API.new( 'API_KEY_GOES_HERE' )
37
-
38
- message = api.messages.build
39
- message.to = '441234123456'
40
- message.content = 'This is a test message.'
41
- response = message.deliver
37
+ ```ruby
38
+ require 'clockwork'
39
+ api = Clockwork::API.new( 'API_KEY_GOES_HERE' )
42
40
 
41
+ message = api.messages.build
42
+ message.to = '441234123456'
43
+ message.content = 'This is a test message.'
44
+ response = message.deliver
45
+
46
+ if response.success
47
+ puts response.message_id
48
+ else
49
+ puts response.error_code
50
+ puts response.error_description
51
+ end
52
+ ```
53
+
54
+ ### Send multiple SMS messages (with an optional client ID)
55
+
56
+ You should not use the `Clockwork::Message#deliver` method for each message, but instead use the `Clockwork::API#deliver` method to send multiple messages in the same API request. This will decrease load on the API and ensure your requests are processed significantly faster.
57
+
58
+ ```ruby
59
+
60
+ messages = [
61
+ { :to => '441234123456', :content => 'This is a test message.', :client_id => '1' },
62
+ { :to => '441234123456', :content => 'This is a test message 2.', :client_id => '2' },
63
+ { :to => '441234123456', :content => 'This is a test message 3.', :client_id => '3' },
64
+ { :to => '441234123456', :content => 'This is a test message 4.', :client_id => '4' },
65
+ { :to => '441234123456', :content => 'This is a test message 5.', :client_id => '5' },
66
+ { :to => '441234123456', :content => 'This is a test message 6.', :client_id => '6' }
67
+ ]
68
+
69
+ require 'clockwork'
70
+ api = Clockwork::API.new( 'API_KEY_GOES_HERE' )
71
+ messages.each do |m|
72
+ api.messages.build(m)
73
+ end
74
+
75
+ responses = api.deliver_messages
76
+ responses.each do |response|
77
+ puts response.client_id
43
78
  if response.success
44
79
  puts response.message_id
45
80
  else
46
81
  puts response.error_code
47
82
  puts response.error_description
48
83
  end
49
-
50
- ### Send multiple SMS messages (with an optional client ID)
51
-
52
- You should not use the `Clockwork::Message#deliver` method for each message, but instead use the `Clockwork::API#deliver` method to send multiple messages in the same API request. This will decrease load on the API and ensure your requests are processed significantly faster.
53
-
54
- messages = [
55
- { :to => '441234123456', :content => 'This is a test message.', :client_id => '1' },
56
- { :to => '441234123456', :content => 'This is a test message 2.', :client_id => '2' },
57
- { :to => '441234123456', :content => 'This is a test message 3.', :client_id => '3' },
58
- { :to => '441234123456', :content => 'This is a test message 4.', :client_id => '4' },
59
- { :to => '441234123456', :content => 'This is a test message 5.', :client_id => '5' },
60
- { :to => '441234123456', :content => 'This is a test message 6.', :client_id => '6' }
61
- ]
62
-
63
- require 'clockwork'
64
- api = Clockwork::API.new( 'API_KEY_GOES_HERE' )
65
- messages.each do |m|
66
- api.messages.build(m)
67
- end
68
-
69
- responses = api.deliver_messages
70
- responses.each do |response|
71
- puts response.client_id
72
- if response.success
73
- puts response.message_id
74
- else
75
- puts response.error_code
76
- puts response.error_description
77
- end
78
- end
84
+ end
85
+ ```
79
86
 
80
87
  ### Check balance
81
88
 
82
- require 'clockwork'
83
- api = Clockwork::API.new( 'API_KEY_GOES_HERE' )
84
- balance = Clockwork::API.balance
85
- puts balance # => { :account_type => "PAYG", :balance => 575.23, :currency => { :code => "GBP", :symbol => "£" } }
89
+ ```ruby
90
+ require 'clockwork'
91
+ api = Clockwork::API.new( 'API_KEY_GOES_HERE' )
92
+ balance = Clockwork::API.balance
93
+ puts balance # => { :account_type => "PAYG", :balance => 575.23, :currency => { :code => "GBP", :symbol => "£" } }
94
+ ```
86
95
 
87
96
  ## License
88
97
 
@@ -131,4 +140,11 @@ Then, run `rspec`.
131
140
 
132
141
  ### 1.2.0 (30th June, 2014)
133
142
 
134
- * Compatability fixes for Ruby 1.8, 2.0 and 2.1 (Tested with 1.8.7-p375, 1.9.3-p547, 2.0.0-p481 and 2.1.2)
143
+ * Compatability fixes for Ruby 1.8, 2.0 and 2.1 (Tested with 1.8.7-p375, 1.9.3-p547, 2.0.0-p481 and 2.1.2).
144
+ Thanks to [Paul Volpato](https://github.com/volpe), [Todd Bealmear](https://github.com/todd) and [Fawad](https://github.com/fawad) for the pull requests.
145
+
146
+ ### 1.2.1 (28th September, 2014)
147
+
148
+ * Add some tests for the invalid_char_action and truncate parameters.
149
+ * Fix invalid_char_action parameter as it was passing invalid values to the Clockwork API.
150
+ Thanks to [Tom Pesman](https://github.com/tompesman) for the fix.
@@ -2,7 +2,7 @@
2
2
  module Clockwork
3
3
 
4
4
  # Current API wrapper version
5
- VERSION = '1.1.0'
5
+ VERSION = '1.2.1'
6
6
 
7
7
  # @author James Inman <james@mediaburst.co.uk>
8
8
  # You must create an instance of Clockwork::API to begin using the API.
@@ -58,7 +58,7 @@ module Clockwork
58
58
  # @return [boolean]
59
59
  # @note This can be overriden for specific Clockwork::SMS objects; if it is not set your account default will be used.
60
60
  attr_accessor :truncate
61
-
61
+
62
62
  # Whether to use SSL when connecting to the API.
63
63
  # Defaults to +true+
64
64
  # @return [boolean]
@@ -76,7 +76,8 @@ module Clockwork
76
76
  end
77
77
 
78
78
  def invalid_char_action= symbol
79
- raise( ArgumentError, "#{symbol} must be one of :error, :replace, :remove" ) unless [:error, :replace, :remove].include?(symbol.to_sym)
79
+ raise( ArgumentError, "#{symbol} must be one of :error, :replace, :remove" ) unless [:error, :remove, :replace].include?(symbol.to_sym)
80
+ @invalid_char_action = [nil, :error, :remove, :replace].index(symbol.to_sym)
80
81
  end
81
82
 
82
83
  def concat= number
@@ -111,6 +112,8 @@ module Clockwork
111
112
  @use_ssl = true if @use_ssl.nil?
112
113
  @concat = 3 if @concat.nil? && @long
113
114
  @messages ||= Clockwork::MessageCollection.new( :api => self )
115
+ @invalid_char_action = [nil, :error, :remove, :replace].index(@invalid_char_action) if @invalid_char_action
116
+ @truncate = @truncate ? true : false unless @truncate.nil?
114
117
  end
115
118
 
116
119
  # Check the remaining credit for this account.
@@ -36,7 +36,7 @@ module Clockwork
36
36
  # @return [boolean]
37
37
  # @note If this option is set it overrides the global option specified in Clockwork::API for this SMS, if neither option is set your account default will be used.
38
38
  attr_accessor :truncate
39
-
39
+
40
40
  # What to do with any invalid characters in the message content. +:error+ will raise a Clockwork::InvalidCharacterException, +:replace+ will replace a small number of common invalid characters, such as the smart quotes used by Microsoft Office with a similar match, +:remove+ will remove invalid characters.
41
41
  # @raise ArgumentError - if value is not one of +:error+, +:replace+, +:remove+
42
42
  # @return [symbol] One of +error+, +:replace+, +:remove+
@@ -51,13 +51,15 @@ module Clockwork
51
51
  attr_writer :wrapper_id
52
52
 
53
53
  def invalid_char_action= symbol
54
- raise( ArgumentError, "#{symbol} must be one of :error, :replace, :remove" ) unless [:error, :replace, :remove].include?(symbol.to_sym)
54
+ raise( ArgumentError, "#{symbol} must be one of :error, :replace, :remove" ) unless [:error, :remove, :replace].include?(symbol.to_sym)
55
55
  end
56
56
 
57
57
  # @param [hash] options Optional hash of attributes on Clockwork::SMS
58
58
  # Create a new SMS message.
59
59
  def initialize options = {}
60
60
  options.each { |k, v| instance_variable_set "@#{k}", v } if options.kind_of?(Hash)
61
+ @invalid_char_action = [nil, :error, :remove, :replace].index(@invalid_char_action) if @invalid_char_action
62
+ @truncate = @truncate ? true : false unless @truncate.nil?
61
63
  end
62
64
 
63
65
  # Deliver the SMS message.
metadata CHANGED
@@ -1,57 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clockworksms
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mediaburst
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-30 00:00:00.000000000 Z
11
+ date: 2014-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.5.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.5.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.8'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake-compiler
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - '>='
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - '>='
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rspec
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - '>='
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '0'
61
+ version: '3.1'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - '>='
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '0'
68
+ version: '3.1'
55
69
  description: Ruby Gem for the Clockwork API. Send text messages with the easy to use
56
70
  SMS API from Mediaburst.
57
71
  email: hello@mediaburst.co.uk
@@ -59,21 +73,21 @@ executables: []
59
73
  extensions: []
60
74
  extra_rdoc_files: []
61
75
  files:
76
+ - Gemfile
77
+ - Gemfile.lock
78
+ - LICENSE
79
+ - README.md
80
+ - lib/clockwork.rb
62
81
  - lib/clockwork/api.rb
63
82
  - lib/clockwork/error.rb
64
83
  - lib/clockwork/http.rb
65
84
  - lib/clockwork/message_collection.rb
66
- - lib/clockwork/sms/response.rb
67
85
  - lib/clockwork/sms.rb
86
+ - lib/clockwork/sms/response.rb
68
87
  - lib/clockwork/xml/balance.rb
69
88
  - lib/clockwork/xml/credit.rb
70
89
  - lib/clockwork/xml/sms.rb
71
90
  - lib/clockwork/xml/xml.rb
72
- - lib/clockwork.rb
73
- - Gemfile
74
- - Gemfile.lock
75
- - LICENSE
76
- - README.md
77
91
  homepage: http://www.clockworksms.com/
78
92
  licenses:
79
93
  - MIT
@@ -84,17 +98,17 @@ require_paths:
84
98
  - lib
85
99
  required_ruby_version: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - '>='
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  required_rubygems_version: !ruby/object:Gem::Requirement
91
105
  requirements:
92
- - - '>='
106
+ - - ">="
93
107
  - !ruby/object:Gem::Version
94
108
  version: '0'
95
109
  requirements: []
96
110
  rubyforge_project:
97
- rubygems_version: 2.0.14
111
+ rubygems_version: 2.2.2
98
112
  signing_key:
99
113
  specification_version: 4
100
114
  summary: Ruby Gem for the Clockwork API.