sms_candy 0.0.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.
Files changed (62) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +34 -0
  4. data/lib/sms_candy.rb +16 -0
  5. data/lib/sms_candy/authentication/strategies.rb +39 -0
  6. data/lib/sms_candy/authentication/strategies/o_auth_2.rb +44 -0
  7. data/lib/sms_candy/config.rb +16 -0
  8. data/lib/sms_candy/helpers/get_message_response_helper.rb +40 -0
  9. data/lib/sms_candy/helpers/get_message_status_helper.rb +40 -0
  10. data/lib/sms_candy/helpers/message_callback_renderer_helper.rb +20 -0
  11. data/lib/sms_candy/helpers/send_message_helper.rb +43 -0
  12. data/lib/sms_candy/manager.rb +34 -0
  13. data/lib/sms_candy/version.rb +3 -0
  14. data/lib/tasks/sms_candy_tasks.rake +4 -0
  15. data/spec/authentication/strategies/o_auth_2_spec.rb +10 -0
  16. data/spec/authentication/strategies/strategy_behaviors.rb +32 -0
  17. data/spec/authentication/strategies_spec.rb +38 -0
  18. data/spec/config_spec.rb +15 -0
  19. data/spec/dummy/README.rdoc +28 -0
  20. data/spec/dummy/Rakefile +6 -0
  21. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  22. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  23. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  24. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  25. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/spec/dummy/bin/bundle +3 -0
  27. data/spec/dummy/bin/rails +4 -0
  28. data/spec/dummy/bin/rake +4 -0
  29. data/spec/dummy/bin/setup +29 -0
  30. data/spec/dummy/config.ru +4 -0
  31. data/spec/dummy/config/application.rb +34 -0
  32. data/spec/dummy/config/boot.rb +5 -0
  33. data/spec/dummy/config/database.yml +25 -0
  34. data/spec/dummy/config/environment.rb +5 -0
  35. data/spec/dummy/config/environments/development.rb +41 -0
  36. data/spec/dummy/config/environments/production.rb +79 -0
  37. data/spec/dummy/config/environments/test.rb +42 -0
  38. data/spec/dummy/config/initializers/assets.rb +11 -0
  39. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  41. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  42. data/spec/dummy/config/initializers/inflections.rb +16 -0
  43. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  44. data/spec/dummy/config/initializers/session_store.rb +3 -0
  45. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  46. data/spec/dummy/config/local_env.yml +4 -0
  47. data/spec/dummy/config/locales/en.yml +23 -0
  48. data/spec/dummy/config/routes.rb +56 -0
  49. data/spec/dummy/config/secrets.yml +22 -0
  50. data/spec/dummy/log/test.log +0 -0
  51. data/spec/dummy/public/404.html +67 -0
  52. data/spec/dummy/public/422.html +67 -0
  53. data/spec/dummy/public/500.html +66 -0
  54. data/spec/dummy/public/favicon.ico +0 -0
  55. data/spec/helpers/common_methods.rb +16 -0
  56. data/spec/helpers/get_message_response_helper_spec.rb +13 -0
  57. data/spec/helpers/get_message_status_helper_spec.rb +30 -0
  58. data/spec/helpers/message_callback_renderer_helper_spec.rb +23 -0
  59. data/spec/helpers/send_message_helper_spec.rb +22 -0
  60. data/spec/manager_spec.rb +75 -0
  61. data/spec/spec_helper.rb +21 -0
  62. metadata +181 -0
@@ -0,0 +1,22 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SmsCandy::Helpers::SendMessageHelper do
4
+
5
+ include CommonMethods
6
+
7
+ let(:subject) { SmsCandy::Helpers::SendMessageHelper }
8
+ let(:access_token) { authenticate }
9
+
10
+ it "should respond to send_sms" do
11
+ expect(subject).to respond_to(:send_sms)
12
+ end
13
+
14
+ it "should succeed with correct number" do
15
+ expect(send_sms("0400000000", access_token)).not_to be_nil
16
+ end
17
+
18
+ it "should fail with bad number" do
19
+ expect { send_sms("040000000x", access_token) }.to raise_error
20
+ end
21
+
22
+ end
@@ -0,0 +1,75 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe SmsCandy::Manager do
4
+
5
+ include CommonMethods
6
+
7
+ let(:subject) { SmsCandy::Manager }
8
+ let(:message_id) { subject.send_sms("0400000000", "Lorem ipsum", @access_token) }
9
+
10
+ before(:all) do
11
+ @access_token = authenticate
12
+ end
13
+
14
+ it "should respond to send_sms" do
15
+ expect(subject).to respond_to(:send_sms)
16
+ end
17
+
18
+ it "should respond to message_status" do
19
+ expect(subject).to respond_to(:message_status)
20
+ end
21
+
22
+ it "should respond to message_response" do
23
+ expect(subject).to respond_to(:message_response)
24
+ end
25
+
26
+ it "should respond to authenticate" do
27
+ expect(subject).to respond_to(:authenticate)
28
+ end
29
+
30
+ context "#authenticate" do
31
+
32
+ before(:each) do
33
+ SmsCandy::Authentication::Strategies.add :oauth2
34
+ end
35
+
36
+ it "should return authenticated access_token" do
37
+ expect(subject.authenticate).not_to be_nil
38
+ end
39
+
40
+ end
41
+
42
+ context "#send_sms" do
43
+
44
+ it "should return message id" do
45
+ expect(message_id).not_to be_nil
46
+ end
47
+
48
+ end
49
+
50
+ context "#message_status" do
51
+
52
+ it "should return message details" do
53
+ expect(subject.message_status(message_id, @access_token)).not_to be_nil
54
+ end
55
+
56
+ end
57
+
58
+ context "#message_response" do
59
+
60
+ it "should return message response" do
61
+ expect(subject.message_response(message_id, @access_token)).not_to be_nil
62
+ end
63
+
64
+ end
65
+
66
+ context "#message_callback" do
67
+
68
+ it "should render response callbacks" do
69
+ message = message_callback
70
+ expect(subject.message_callback(message)).not_to be_nil
71
+ end
72
+
73
+ end
74
+
75
+ end
@@ -0,0 +1,21 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require 'simplecov'
4
+
5
+ require File.expand_path("../../spec/dummy/config/environment.rb", __FILE__)
6
+ require 'sms_candy'
7
+ require 'helpers/common_methods'
8
+
9
+ RSpec.configure do |config|
10
+ config.expect_with :rspec do |expectations|
11
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
12
+ end
13
+
14
+ config.mock_with :rspec do |mocks|
15
+ mocks.verify_partial_doubles = true
16
+ end
17
+
18
+ config.warnings = true
19
+ config.order = :random
20
+ Kernel.srand config.seed
21
+ end
metadata ADDED
@@ -0,0 +1,181 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sms_candy
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Hadi Badjian
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 4.2.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 4.2.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: rest-client
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: The sms_candy gem uses Telstra API to send SMS messages to Australian
42
+ mobile phones. It also allows you to receive messages, check for message status
43
+ and get the message responses.
44
+ email:
45
+ - info@smscandy.com
46
+ executables: []
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - MIT-LICENSE
51
+ - Rakefile
52
+ - lib/sms_candy.rb
53
+ - lib/sms_candy/authentication/strategies.rb
54
+ - lib/sms_candy/authentication/strategies/o_auth_2.rb
55
+ - lib/sms_candy/config.rb
56
+ - lib/sms_candy/helpers/get_message_response_helper.rb
57
+ - lib/sms_candy/helpers/get_message_status_helper.rb
58
+ - lib/sms_candy/helpers/message_callback_renderer_helper.rb
59
+ - lib/sms_candy/helpers/send_message_helper.rb
60
+ - lib/sms_candy/manager.rb
61
+ - lib/sms_candy/version.rb
62
+ - lib/tasks/sms_candy_tasks.rake
63
+ - spec/authentication/strategies/o_auth_2_spec.rb
64
+ - spec/authentication/strategies/strategy_behaviors.rb
65
+ - spec/authentication/strategies_spec.rb
66
+ - spec/config_spec.rb
67
+ - spec/dummy/README.rdoc
68
+ - spec/dummy/Rakefile
69
+ - spec/dummy/app/assets/javascripts/application.js
70
+ - spec/dummy/app/assets/stylesheets/application.css
71
+ - spec/dummy/app/controllers/application_controller.rb
72
+ - spec/dummy/app/helpers/application_helper.rb
73
+ - spec/dummy/app/views/layouts/application.html.erb
74
+ - spec/dummy/bin/bundle
75
+ - spec/dummy/bin/rails
76
+ - spec/dummy/bin/rake
77
+ - spec/dummy/bin/setup
78
+ - spec/dummy/config.ru
79
+ - spec/dummy/config/application.rb
80
+ - spec/dummy/config/boot.rb
81
+ - spec/dummy/config/database.yml
82
+ - spec/dummy/config/environment.rb
83
+ - spec/dummy/config/environments/development.rb
84
+ - spec/dummy/config/environments/production.rb
85
+ - spec/dummy/config/environments/test.rb
86
+ - spec/dummy/config/initializers/assets.rb
87
+ - spec/dummy/config/initializers/backtrace_silencers.rb
88
+ - spec/dummy/config/initializers/cookies_serializer.rb
89
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
90
+ - spec/dummy/config/initializers/inflections.rb
91
+ - spec/dummy/config/initializers/mime_types.rb
92
+ - spec/dummy/config/initializers/session_store.rb
93
+ - spec/dummy/config/initializers/wrap_parameters.rb
94
+ - spec/dummy/config/local_env.yml
95
+ - spec/dummy/config/locales/en.yml
96
+ - spec/dummy/config/routes.rb
97
+ - spec/dummy/config/secrets.yml
98
+ - spec/dummy/log/test.log
99
+ - spec/dummy/public/404.html
100
+ - spec/dummy/public/422.html
101
+ - spec/dummy/public/500.html
102
+ - spec/dummy/public/favicon.ico
103
+ - spec/helpers/common_methods.rb
104
+ - spec/helpers/get_message_response_helper_spec.rb
105
+ - spec/helpers/get_message_status_helper_spec.rb
106
+ - spec/helpers/message_callback_renderer_helper_spec.rb
107
+ - spec/helpers/send_message_helper_spec.rb
108
+ - spec/manager_spec.rb
109
+ - spec/spec_helper.rb
110
+ homepage: http://smscandy.com
111
+ licenses:
112
+ - MIT
113
+ metadata: {}
114
+ post_install_message:
115
+ rdoc_options: []
116
+ require_paths:
117
+ - lib
118
+ required_ruby_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ required_rubygems_version: !ruby/object:Gem::Requirement
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ version: '0'
128
+ requirements: []
129
+ rubyforge_project:
130
+ rubygems_version: 2.4.8
131
+ signing_key:
132
+ specification_version: 4
133
+ summary: Basic gem for Telstra SMS API.
134
+ test_files:
135
+ - spec/authentication/strategies/o_auth_2_spec.rb
136
+ - spec/authentication/strategies/strategy_behaviors.rb
137
+ - spec/authentication/strategies_spec.rb
138
+ - spec/config_spec.rb
139
+ - spec/dummy/app/assets/javascripts/application.js
140
+ - spec/dummy/app/assets/stylesheets/application.css
141
+ - spec/dummy/app/controllers/application_controller.rb
142
+ - spec/dummy/app/helpers/application_helper.rb
143
+ - spec/dummy/app/views/layouts/application.html.erb
144
+ - spec/dummy/bin/bundle
145
+ - spec/dummy/bin/rails
146
+ - spec/dummy/bin/rake
147
+ - spec/dummy/bin/setup
148
+ - spec/dummy/config/application.rb
149
+ - spec/dummy/config/boot.rb
150
+ - spec/dummy/config/database.yml
151
+ - spec/dummy/config/environment.rb
152
+ - spec/dummy/config/environments/development.rb
153
+ - spec/dummy/config/environments/production.rb
154
+ - spec/dummy/config/environments/test.rb
155
+ - spec/dummy/config/initializers/assets.rb
156
+ - spec/dummy/config/initializers/backtrace_silencers.rb
157
+ - spec/dummy/config/initializers/cookies_serializer.rb
158
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
159
+ - spec/dummy/config/initializers/inflections.rb
160
+ - spec/dummy/config/initializers/mime_types.rb
161
+ - spec/dummy/config/initializers/session_store.rb
162
+ - spec/dummy/config/initializers/wrap_parameters.rb
163
+ - spec/dummy/config/local_env.yml
164
+ - spec/dummy/config/locales/en.yml
165
+ - spec/dummy/config/routes.rb
166
+ - spec/dummy/config/secrets.yml
167
+ - spec/dummy/config.ru
168
+ - spec/dummy/log/test.log
169
+ - spec/dummy/public/404.html
170
+ - spec/dummy/public/422.html
171
+ - spec/dummy/public/500.html
172
+ - spec/dummy/public/favicon.ico
173
+ - spec/dummy/Rakefile
174
+ - spec/dummy/README.rdoc
175
+ - spec/helpers/common_methods.rb
176
+ - spec/helpers/get_message_response_helper_spec.rb
177
+ - spec/helpers/get_message_status_helper_spec.rb
178
+ - spec/helpers/message_callback_renderer_helper_spec.rb
179
+ - spec/helpers/send_message_helper_spec.rb
180
+ - spec/manager_spec.rb
181
+ - spec/spec_helper.rb