clockworksms 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
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.