smster 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 (64) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +32 -0
  4. data/Rakefile +34 -0
  5. data/app/controllers/smster/clickatell_controller.rb +22 -0
  6. data/app/controllers/smster/nexmo_controller.rb +17 -0
  7. data/lib/generators/smster/install/templates/create_smsters.rb +20 -0
  8. data/lib/generators/smster/install/templates/smster.rb +8 -0
  9. data/lib/generators/smster/install_generator.rb +38 -0
  10. data/lib/smster.rb +21 -0
  11. data/lib/smster/configuration.rb +11 -0
  12. data/lib/smster/sms.rb +32 -0
  13. data/lib/smster/sms/clickatell.rb +34 -0
  14. data/lib/smster/sms/nexmo.rb +45 -0
  15. data/lib/smster/version.rb +3 -0
  16. data/lib/tasks/smster_tasks.rake +4 -0
  17. data/test/controller/smster/clickatell_controller_test.rb +27 -0
  18. data/test/controller/smster/nexmo_controller_test.rb +19 -0
  19. data/test/dummy/README.rdoc +28 -0
  20. data/test/dummy/Rakefile +6 -0
  21. data/test/dummy/app/assets/javascripts/application.js +13 -0
  22. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  23. data/test/dummy/app/controllers/application_controller.rb +5 -0
  24. data/test/dummy/app/helpers/application_helper.rb +2 -0
  25. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/test/dummy/bin/bundle +3 -0
  27. data/test/dummy/bin/rails +4 -0
  28. data/test/dummy/bin/rake +4 -0
  29. data/test/dummy/bin/setup +29 -0
  30. data/test/dummy/config.ru +4 -0
  31. data/test/dummy/config/application.rb +26 -0
  32. data/test/dummy/config/boot.rb +5 -0
  33. data/test/dummy/config/database.yml +25 -0
  34. data/test/dummy/config/environment.rb +5 -0
  35. data/test/dummy/config/environments/development.rb +41 -0
  36. data/test/dummy/config/environments/production.rb +79 -0
  37. data/test/dummy/config/environments/test.rb +42 -0
  38. data/test/dummy/config/initializers/assets.rb +11 -0
  39. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  40. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  41. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  42. data/test/dummy/config/initializers/inflections.rb +16 -0
  43. data/test/dummy/config/initializers/mime_types.rb +4 -0
  44. data/test/dummy/config/initializers/session_store.rb +3 -0
  45. data/test/dummy/config/initializers/smster.rb +8 -0
  46. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  47. data/test/dummy/config/locales/en.yml +23 -0
  48. data/test/dummy/config/routes.rb +4 -0
  49. data/test/dummy/config/secrets.yml +22 -0
  50. data/test/dummy/db/development.sqlite3 +0 -0
  51. data/test/dummy/db/migrate/20150330154603_create_smsters.rb +20 -0
  52. data/test/dummy/db/schema.rb +29 -0
  53. data/test/dummy/db/test.sqlite3 +0 -0
  54. data/test/dummy/log/development.log +141 -0
  55. data/test/dummy/log/test.log +1918 -0
  56. data/test/dummy/public/404.html +67 -0
  57. data/test/dummy/public/422.html +67 -0
  58. data/test/dummy/public/500.html +66 -0
  59. data/test/dummy/public/favicon.ico +0 -0
  60. data/test/smster/sms/clickatell_test.rb +21 -0
  61. data/test/smster/sms/nexmo_test.rb +22 -0
  62. data/test/smster_test.rb +16 -0
  63. data/test/test_helper.rb +19 -0
  64. metadata +181 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+
3
+ class Sms::ClickatellTest < ActiveSupport::TestCase
4
+ def setup
5
+ @text = "simple text"
6
+ @number = (0...7).map { (1..9).to_a.sample }.join
7
+ @provider = Sms::Clickatell
8
+ end
9
+
10
+ test "create" do
11
+ sms = @provider.create(text: @text, to: @number)
12
+ assert_equal false, sms.new_record?
13
+ end
14
+
15
+ test "format to" do
16
+ to = "+#{@number}"
17
+ sms = @provider.create(text: @text, to: to)
18
+
19
+ assert_equal to, sms.to
20
+ end
21
+ end
@@ -0,0 +1,22 @@
1
+ require 'test_helper'
2
+
3
+ class Sms::NexmoTest < ActiveSupport::TestCase
4
+ def setup
5
+ @text = "simple text"
6
+ @number = (0...7).map { (1..9).to_a.sample }.join
7
+ @provider = Sms::Nexmo
8
+ end
9
+
10
+ test "create" do
11
+ sms = @provider.create(text: @text, to: @number)
12
+
13
+ assert_equal false, sms.new_record?
14
+ end
15
+
16
+ test "format to" do
17
+ to = "+#{@number}"
18
+ sms = @provider.create(text: @text, to: to)
19
+
20
+ assert_equal to, sms.to
21
+ end
22
+ end
@@ -0,0 +1,16 @@
1
+ require 'test_helper'
2
+
3
+ class SmsterTest < ActiveSupport::TestCase
4
+ test "confirguration" do
5
+ nexmo_key = "123"
6
+
7
+ Smster.configure do |config|
8
+ config.nexmo_key = nexmo_key
9
+ end
10
+
11
+ config = Smster.configuration
12
+
13
+ assert_equal "", config.clickatell_authorization_code
14
+ assert_equal nexmo_key, config.nexmo_key
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
5
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
6
+ require "rails/test_help"
7
+
8
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
9
+ # to be shown.
10
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
11
+
12
+ # Load support files
13
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
14
+
15
+ # Load fixtures from the engine
16
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
17
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
18
+ ActiveSupport::TestCase.fixtures :all
19
+ end
metadata ADDED
@@ -0,0 +1,181 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: smster
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - doniv
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-31 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'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4'
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: '1.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.8'
41
+ description: Multi provider sms service
42
+ email:
43
+ - donivrecord@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - MIT-LICENSE
49
+ - README.rdoc
50
+ - Rakefile
51
+ - app/controllers/smster/clickatell_controller.rb
52
+ - app/controllers/smster/nexmo_controller.rb
53
+ - lib/generators/smster/install/templates/create_smsters.rb
54
+ - lib/generators/smster/install/templates/smster.rb
55
+ - lib/generators/smster/install_generator.rb
56
+ - lib/smster.rb
57
+ - lib/smster/configuration.rb
58
+ - lib/smster/sms.rb
59
+ - lib/smster/sms/clickatell.rb
60
+ - lib/smster/sms/nexmo.rb
61
+ - lib/smster/version.rb
62
+ - lib/tasks/smster_tasks.rake
63
+ - test/controller/smster/clickatell_controller_test.rb
64
+ - test/controller/smster/nexmo_controller_test.rb
65
+ - test/dummy/README.rdoc
66
+ - test/dummy/Rakefile
67
+ - test/dummy/app/assets/javascripts/application.js
68
+ - test/dummy/app/assets/stylesheets/application.css
69
+ - test/dummy/app/controllers/application_controller.rb
70
+ - test/dummy/app/helpers/application_helper.rb
71
+ - test/dummy/app/views/layouts/application.html.erb
72
+ - test/dummy/bin/bundle
73
+ - test/dummy/bin/rails
74
+ - test/dummy/bin/rake
75
+ - test/dummy/bin/setup
76
+ - test/dummy/config.ru
77
+ - test/dummy/config/application.rb
78
+ - test/dummy/config/boot.rb
79
+ - test/dummy/config/database.yml
80
+ - test/dummy/config/environment.rb
81
+ - test/dummy/config/environments/development.rb
82
+ - test/dummy/config/environments/production.rb
83
+ - test/dummy/config/environments/test.rb
84
+ - test/dummy/config/initializers/assets.rb
85
+ - test/dummy/config/initializers/backtrace_silencers.rb
86
+ - test/dummy/config/initializers/cookies_serializer.rb
87
+ - test/dummy/config/initializers/filter_parameter_logging.rb
88
+ - test/dummy/config/initializers/inflections.rb
89
+ - test/dummy/config/initializers/mime_types.rb
90
+ - test/dummy/config/initializers/session_store.rb
91
+ - test/dummy/config/initializers/smster.rb
92
+ - test/dummy/config/initializers/wrap_parameters.rb
93
+ - test/dummy/config/locales/en.yml
94
+ - test/dummy/config/routes.rb
95
+ - test/dummy/config/secrets.yml
96
+ - test/dummy/db/development.sqlite3
97
+ - test/dummy/db/migrate/20150330154603_create_smsters.rb
98
+ - test/dummy/db/schema.rb
99
+ - test/dummy/db/test.sqlite3
100
+ - test/dummy/log/development.log
101
+ - test/dummy/log/test.log
102
+ - test/dummy/public/404.html
103
+ - test/dummy/public/422.html
104
+ - test/dummy/public/500.html
105
+ - test/dummy/public/favicon.ico
106
+ - test/smster/sms/clickatell_test.rb
107
+ - test/smster/sms/nexmo_test.rb
108
+ - test/smster_test.rb
109
+ - test/test_helper.rb
110
+ homepage: https://github.com/IlyaDonskikh/smster
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.6
131
+ signing_key:
132
+ specification_version: 4
133
+ summary: SMS service
134
+ test_files:
135
+ - test/controller/smster/clickatell_controller_test.rb
136
+ - test/controller/smster/nexmo_controller_test.rb
137
+ - test/dummy/app/assets/javascripts/application.js
138
+ - test/dummy/app/assets/stylesheets/application.css
139
+ - test/dummy/app/controllers/application_controller.rb
140
+ - test/dummy/app/helpers/application_helper.rb
141
+ - test/dummy/app/views/layouts/application.html.erb
142
+ - test/dummy/bin/bundle
143
+ - test/dummy/bin/rails
144
+ - test/dummy/bin/rake
145
+ - test/dummy/bin/setup
146
+ - test/dummy/config/application.rb
147
+ - test/dummy/config/boot.rb
148
+ - test/dummy/config/database.yml
149
+ - test/dummy/config/environment.rb
150
+ - test/dummy/config/environments/development.rb
151
+ - test/dummy/config/environments/production.rb
152
+ - test/dummy/config/environments/test.rb
153
+ - test/dummy/config/initializers/assets.rb
154
+ - test/dummy/config/initializers/backtrace_silencers.rb
155
+ - test/dummy/config/initializers/cookies_serializer.rb
156
+ - test/dummy/config/initializers/filter_parameter_logging.rb
157
+ - test/dummy/config/initializers/inflections.rb
158
+ - test/dummy/config/initializers/mime_types.rb
159
+ - test/dummy/config/initializers/session_store.rb
160
+ - test/dummy/config/initializers/smster.rb
161
+ - test/dummy/config/initializers/wrap_parameters.rb
162
+ - test/dummy/config/locales/en.yml
163
+ - test/dummy/config/routes.rb
164
+ - test/dummy/config/secrets.yml
165
+ - test/dummy/config.ru
166
+ - test/dummy/db/development.sqlite3
167
+ - test/dummy/db/migrate/20150330154603_create_smsters.rb
168
+ - test/dummy/db/schema.rb
169
+ - test/dummy/db/test.sqlite3
170
+ - test/dummy/log/development.log
171
+ - test/dummy/log/test.log
172
+ - test/dummy/public/404.html
173
+ - test/dummy/public/422.html
174
+ - test/dummy/public/500.html
175
+ - test/dummy/public/favicon.ico
176
+ - test/dummy/Rakefile
177
+ - test/dummy/README.rdoc
178
+ - test/smster/sms/clickatell_test.rb
179
+ - test/smster/sms/nexmo_test.rb
180
+ - test/smster_test.rb
181
+ - test/test_helper.rb