track302 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 (69) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/javascripts/track302/application.js +13 -0
  5. data/app/assets/javascripts/track302/redirect.js +2 -0
  6. data/app/assets/stylesheets/track302/application.css +15 -0
  7. data/app/assets/stylesheets/track302/redirect.css +4 -0
  8. data/app/controllers/track302/application_controller.rb +4 -0
  9. data/app/controllers/track302/redirect_controller.rb +17 -0
  10. data/app/helpers/track302/application_helper.rb +4 -0
  11. data/app/helpers/track302/redirect_helper.rb +4 -0
  12. data/app/models/track302/click.rb +15 -0
  13. data/app/models/track302/link.rb +9 -0
  14. data/app/views/layouts/track302/application.html.erb +14 -0
  15. data/app/views/track302/redirect/show.html.erb +2 -0
  16. data/config/routes.rb +3 -0
  17. data/db/migrate/20160111023755_create_track302_links.rb +10 -0
  18. data/db/migrate/20160111023840_create_track302_clicks.rb +16 -0
  19. data/lib/tasks/track302_tasks.rake +4 -0
  20. data/lib/track302.rb +4 -0
  21. data/lib/track302/engine.rb +5 -0
  22. data/lib/track302/version.rb +3 -0
  23. data/test/controllers/track302/redirect_controller_test.rb +34 -0
  24. data/test/dummy/README.rdoc +28 -0
  25. data/test/dummy/Rakefile +6 -0
  26. data/test/dummy/app/assets/javascripts/application.js +13 -0
  27. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  28. data/test/dummy/app/controllers/application_controller.rb +5 -0
  29. data/test/dummy/app/helpers/application_helper.rb +2 -0
  30. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  31. data/test/dummy/bin/bundle +3 -0
  32. data/test/dummy/bin/rails +4 -0
  33. data/test/dummy/bin/rake +4 -0
  34. data/test/dummy/bin/setup +29 -0
  35. data/test/dummy/config.ru +4 -0
  36. data/test/dummy/config/application.rb +26 -0
  37. data/test/dummy/config/boot.rb +5 -0
  38. data/test/dummy/config/database.yml +25 -0
  39. data/test/dummy/config/environment.rb +5 -0
  40. data/test/dummy/config/environments/development.rb +41 -0
  41. data/test/dummy/config/environments/production.rb +79 -0
  42. data/test/dummy/config/environments/test.rb +42 -0
  43. data/test/dummy/config/initializers/assets.rb +11 -0
  44. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  45. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  46. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  47. data/test/dummy/config/initializers/inflections.rb +16 -0
  48. data/test/dummy/config/initializers/mime_types.rb +4 -0
  49. data/test/dummy/config/initializers/session_store.rb +3 -0
  50. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  51. data/test/dummy/config/locales/en.yml +23 -0
  52. data/test/dummy/config/routes.rb +4 -0
  53. data/test/dummy/config/secrets.yml +22 -0
  54. data/test/dummy/db/schema.rb +30 -0
  55. data/test/dummy/db/test.sqlite3 +0 -0
  56. data/test/dummy/log/development.log +24 -0
  57. data/test/dummy/log/test.log +3219 -0
  58. data/test/dummy/public/404.html +67 -0
  59. data/test/dummy/public/422.html +67 -0
  60. data/test/dummy/public/500.html +66 -0
  61. data/test/dummy/public/favicon.ico +0 -0
  62. data/test/fixtures/track302/clicks.yml +7 -0
  63. data/test/fixtures/track302/links.yml +9 -0
  64. data/test/integration/navigation_test.rb +8 -0
  65. data/test/models/track302/click_test.rb +9 -0
  66. data/test/models/track302/link_test.rb +24 -0
  67. data/test/test_helper.rb +21 -0
  68. data/test/track302_test.rb +7 -0
  69. metadata +227 -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,7 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ uuid: f4dc9780209ecc4f786fc47b07b4c1ec0a365e7b
5
+
6
+ two:
7
+ uuid: b7e563a0ce1c4b70b74cf687f4cce9020879cd4f
@@ -0,0 +1,9 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ uuid: MyString
5
+ original: MyString
6
+
7
+ two:
8
+ uuid: MyString
9
+ original: MyString
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class NavigationTest < ActionDispatch::IntegrationTest
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
8
+
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ module Track302
4
+ class ClickTest < ActiveSupport::TestCase
5
+ # test "the truth" do
6
+ # assert true
7
+ # end
8
+ end
9
+ end
@@ -0,0 +1,24 @@
1
+ require 'test_helper'
2
+
3
+ module Track302
4
+ class LinkTest < ActiveSupport::TestCase
5
+ setup do
6
+ @original_url = "http://www.google.com/one/two%20three?q=123#anchor456"
7
+ @link = Link.create(original: @original_url)
8
+ end
9
+
10
+ test "stores original_url" do
11
+ assert_equal @original_url, @link.original
12
+ end
13
+
14
+ test "autogenerate uuid" do
15
+ assert @link.uuid, "should not be blank"
16
+ end
17
+
18
+ test "autogenerate uuid even if provided" do
19
+ other_link = Link.create(original: @original_url, uuid: @link.uuid)
20
+ assert other_link.uuid, "should not be blank"
21
+ assert_not_equal @link.uuid, other_link.uuid
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,21 @@
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
+ ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
7
+ require "rails/test_help"
8
+
9
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
10
+ # to be shown.
11
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
12
+
13
+ # Load support files
14
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
15
+
16
+ # Load fixtures from the engine
17
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
18
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
19
+ ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
20
+ ActiveSupport::TestCase.fixtures :all
21
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class Track302Test < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, Track302
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,227 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: track302
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - choonkeat
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-11 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.5
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.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: guard
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: guard-minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: sqlite3
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Rails engine to track and redirect url
84
+ email:
85
+ - choonkeat@gmail.com
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - MIT-LICENSE
91
+ - Rakefile
92
+ - app/assets/javascripts/track302/application.js
93
+ - app/assets/javascripts/track302/redirect.js
94
+ - app/assets/stylesheets/track302/application.css
95
+ - app/assets/stylesheets/track302/redirect.css
96
+ - app/controllers/track302/application_controller.rb
97
+ - app/controllers/track302/redirect_controller.rb
98
+ - app/helpers/track302/application_helper.rb
99
+ - app/helpers/track302/redirect_helper.rb
100
+ - app/models/track302/click.rb
101
+ - app/models/track302/link.rb
102
+ - app/views/layouts/track302/application.html.erb
103
+ - app/views/track302/redirect/show.html.erb
104
+ - config/routes.rb
105
+ - db/migrate/20160111023755_create_track302_links.rb
106
+ - db/migrate/20160111023840_create_track302_clicks.rb
107
+ - lib/tasks/track302_tasks.rake
108
+ - lib/track302.rb
109
+ - lib/track302/engine.rb
110
+ - lib/track302/version.rb
111
+ - test/controllers/track302/redirect_controller_test.rb
112
+ - test/dummy/README.rdoc
113
+ - test/dummy/Rakefile
114
+ - test/dummy/app/assets/javascripts/application.js
115
+ - test/dummy/app/assets/stylesheets/application.css
116
+ - test/dummy/app/controllers/application_controller.rb
117
+ - test/dummy/app/helpers/application_helper.rb
118
+ - test/dummy/app/views/layouts/application.html.erb
119
+ - test/dummy/bin/bundle
120
+ - test/dummy/bin/rails
121
+ - test/dummy/bin/rake
122
+ - test/dummy/bin/setup
123
+ - test/dummy/config.ru
124
+ - test/dummy/config/application.rb
125
+ - test/dummy/config/boot.rb
126
+ - test/dummy/config/database.yml
127
+ - test/dummy/config/environment.rb
128
+ - test/dummy/config/environments/development.rb
129
+ - test/dummy/config/environments/production.rb
130
+ - test/dummy/config/environments/test.rb
131
+ - test/dummy/config/initializers/assets.rb
132
+ - test/dummy/config/initializers/backtrace_silencers.rb
133
+ - test/dummy/config/initializers/cookies_serializer.rb
134
+ - test/dummy/config/initializers/filter_parameter_logging.rb
135
+ - test/dummy/config/initializers/inflections.rb
136
+ - test/dummy/config/initializers/mime_types.rb
137
+ - test/dummy/config/initializers/session_store.rb
138
+ - test/dummy/config/initializers/wrap_parameters.rb
139
+ - test/dummy/config/locales/en.yml
140
+ - test/dummy/config/routes.rb
141
+ - test/dummy/config/secrets.yml
142
+ - test/dummy/db/schema.rb
143
+ - test/dummy/db/test.sqlite3
144
+ - test/dummy/log/development.log
145
+ - test/dummy/log/test.log
146
+ - test/dummy/public/404.html
147
+ - test/dummy/public/422.html
148
+ - test/dummy/public/500.html
149
+ - test/dummy/public/favicon.ico
150
+ - test/fixtures/track302/clicks.yml
151
+ - test/fixtures/track302/links.yml
152
+ - test/integration/navigation_test.rb
153
+ - test/models/track302/click_test.rb
154
+ - test/models/track302/link_test.rb
155
+ - test/test_helper.rb
156
+ - test/track302_test.rb
157
+ homepage:
158
+ licenses:
159
+ - MIT
160
+ metadata: {}
161
+ post_install_message:
162
+ rdoc_options: []
163
+ require_paths:
164
+ - lib
165
+ required_ruby_version: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ required_rubygems_version: !ruby/object:Gem::Requirement
171
+ requirements:
172
+ - - ">="
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
175
+ requirements: []
176
+ rubyforge_project:
177
+ rubygems_version: 2.4.8
178
+ signing_key:
179
+ specification_version: 4
180
+ summary: Rails engine to track and redirect url
181
+ test_files:
182
+ - test/controllers/track302/redirect_controller_test.rb
183
+ - test/dummy/app/assets/javascripts/application.js
184
+ - test/dummy/app/assets/stylesheets/application.css
185
+ - test/dummy/app/controllers/application_controller.rb
186
+ - test/dummy/app/helpers/application_helper.rb
187
+ - test/dummy/app/views/layouts/application.html.erb
188
+ - test/dummy/bin/bundle
189
+ - test/dummy/bin/rails
190
+ - test/dummy/bin/rake
191
+ - test/dummy/bin/setup
192
+ - test/dummy/config/application.rb
193
+ - test/dummy/config/boot.rb
194
+ - test/dummy/config/database.yml
195
+ - test/dummy/config/environment.rb
196
+ - test/dummy/config/environments/development.rb
197
+ - test/dummy/config/environments/production.rb
198
+ - test/dummy/config/environments/test.rb
199
+ - test/dummy/config/initializers/assets.rb
200
+ - test/dummy/config/initializers/backtrace_silencers.rb
201
+ - test/dummy/config/initializers/cookies_serializer.rb
202
+ - test/dummy/config/initializers/filter_parameter_logging.rb
203
+ - test/dummy/config/initializers/inflections.rb
204
+ - test/dummy/config/initializers/mime_types.rb
205
+ - test/dummy/config/initializers/session_store.rb
206
+ - test/dummy/config/initializers/wrap_parameters.rb
207
+ - test/dummy/config/locales/en.yml
208
+ - test/dummy/config/routes.rb
209
+ - test/dummy/config/secrets.yml
210
+ - test/dummy/config.ru
211
+ - test/dummy/db/schema.rb
212
+ - test/dummy/db/test.sqlite3
213
+ - test/dummy/log/development.log
214
+ - test/dummy/log/test.log
215
+ - test/dummy/public/404.html
216
+ - test/dummy/public/422.html
217
+ - test/dummy/public/500.html
218
+ - test/dummy/public/favicon.ico
219
+ - test/dummy/Rakefile
220
+ - test/dummy/README.rdoc
221
+ - test/fixtures/track302/clicks.yml
222
+ - test/fixtures/track302/links.yml
223
+ - test/integration/navigation_test.rb
224
+ - test/models/track302/click_test.rb
225
+ - test/models/track302/link_test.rb
226
+ - test/test_helper.rb
227
+ - test/track302_test.rb