flash_analytics 0.1.0

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 (55) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +32 -0
  4. data/lib/flash_analytics/action_view_extensions.rb +27 -0
  5. data/lib/flash_analytics/configuration.rb +15 -0
  6. data/lib/flash_analytics/flash_hash_extensions.rb +29 -0
  7. data/lib/flash_analytics/version.rb +3 -0
  8. data/lib/flash_analytics.rb +9 -0
  9. data/lib/generators/flash_analytics/flash_analytics.rb +9 -0
  10. data/lib/generators/flash_analytics/install_generator.rb +7 -0
  11. data/lib/tasks/flash_analytics_tasks.rake +4 -0
  12. data/test/dummy/README.rdoc +28 -0
  13. data/test/dummy/Rakefile +6 -0
  14. data/test/dummy/app/assets/javascripts/application.js +13 -0
  15. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  16. data/test/dummy/app/controllers/application_controller.rb +5 -0
  17. data/test/dummy/app/controllers/dummies_controller.rb +15 -0
  18. data/test/dummy/app/helpers/application_helper.rb +2 -0
  19. data/test/dummy/app/views/analytics/_test_analytics_one.html.erb +1 -0
  20. data/test/dummy/app/views/analytics/_test_analytics_two.html.erb +1 -0
  21. data/test/dummy/app/views/dummies/render_now.html.erb +2 -0
  22. data/test/dummy/app/views/dummies/result.html.erb +2 -0
  23. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  24. data/test/dummy/bin/bundle +3 -0
  25. data/test/dummy/bin/rails +4 -0
  26. data/test/dummy/bin/rake +4 -0
  27. data/test/dummy/config/application.rb +23 -0
  28. data/test/dummy/config/boot.rb +5 -0
  29. data/test/dummy/config/database.yml +25 -0
  30. data/test/dummy/config/environment.rb +5 -0
  31. data/test/dummy/config/environments/development.rb +37 -0
  32. data/test/dummy/config/environments/production.rb +78 -0
  33. data/test/dummy/config/environments/test.rb +39 -0
  34. data/test/dummy/config/initializers/assets.rb +8 -0
  35. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  36. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  37. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  38. data/test/dummy/config/initializers/inflections.rb +16 -0
  39. data/test/dummy/config/initializers/mime_types.rb +4 -0
  40. data/test/dummy/config/initializers/session_store.rb +3 -0
  41. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  42. data/test/dummy/config/locales/en.yml +23 -0
  43. data/test/dummy/config/routes.rb +63 -0
  44. data/test/dummy/config/secrets.yml +22 -0
  45. data/test/dummy/config.ru +4 -0
  46. data/test/dummy/db/test.sqlite3 +0 -0
  47. data/test/dummy/log/development.log +0 -0
  48. data/test/dummy/log/test.log +463 -0
  49. data/test/dummy/public/404.html +67 -0
  50. data/test/dummy/public/422.html +67 -0
  51. data/test/dummy/public/500.html +66 -0
  52. data/test/dummy/public/favicon.ico +0 -0
  53. data/test/flash_analytics_test.rb +50 -0
  54. data/test/test_helper.rb +15 -0
  55. metadata +154 -0
@@ -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,50 @@
1
+ require 'test_helper'
2
+
3
+ class FlashAnalyticsTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, FlashAnalytics
6
+ end
7
+ end
8
+
9
+ class FlashHashTest < ActiveSupport::TestCase
10
+ setup do
11
+ @flash = ActionDispatch::Flash::FlashHash.new
12
+ @flash.class_eval("prepend FlashAnalytics::FlashHashExtensions")
13
+ end
14
+
15
+ test "partial is successfully added to flash" do
16
+ @flash.add_analytics_partial "partial_name"
17
+
18
+ assert @flash.has_analytics?
19
+ end
20
+
21
+ test "flash_analytics are excluded from each" do
22
+ @flash.add_analytics_partial "partial_name"
23
+ @flash[:message] = "message"
24
+ @flash[:alert] = "alert"
25
+ results = []
26
+
27
+ @flash.each { |k, v| results << k }
28
+
29
+ assert results.length == 2
30
+ assert_not results.include? 'flash_analytics'
31
+ end
32
+ end
33
+
34
+ class DummiesControllerTest < ActionDispatch::IntegrationTest
35
+ test "add_analytics_partial should render after redirect" do
36
+ get redirect_dummies_url
37
+
38
+ follow_redirect!
39
+ assert_template :result
40
+ assert_template partial: 'analytics/_test_analytics_one'
41
+ assert_template partial: 'analytics/_test_analytics_two'
42
+ end
43
+
44
+ test "add_analytics_partial_now should render in the current request" do
45
+ get render_now_dummies_url
46
+
47
+ assert_template :render_now
48
+ assert_template partial: 'analytics/_test_analytics_one'
49
+ end
50
+ end
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
metadata ADDED
@@ -0,0 +1,154 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: flash_analytics
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - fylooi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-10-08 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: '5.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.0'
27
+ description: A simple way to render javascript analytics fragments on demand
28
+ email:
29
+ - fy.looi+github@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - MIT-LICENSE
35
+ - Rakefile
36
+ - lib/flash_analytics.rb
37
+ - lib/flash_analytics/action_view_extensions.rb
38
+ - lib/flash_analytics/configuration.rb
39
+ - lib/flash_analytics/flash_hash_extensions.rb
40
+ - lib/flash_analytics/version.rb
41
+ - lib/generators/flash_analytics/flash_analytics.rb
42
+ - lib/generators/flash_analytics/install_generator.rb
43
+ - lib/tasks/flash_analytics_tasks.rake
44
+ - test/dummy/README.rdoc
45
+ - test/dummy/Rakefile
46
+ - test/dummy/app/assets/javascripts/application.js
47
+ - test/dummy/app/assets/stylesheets/application.css
48
+ - test/dummy/app/controllers/application_controller.rb
49
+ - test/dummy/app/controllers/dummies_controller.rb
50
+ - test/dummy/app/helpers/application_helper.rb
51
+ - test/dummy/app/views/analytics/_test_analytics_one.html.erb
52
+ - test/dummy/app/views/analytics/_test_analytics_two.html.erb
53
+ - test/dummy/app/views/dummies/render_now.html.erb
54
+ - test/dummy/app/views/dummies/result.html.erb
55
+ - test/dummy/app/views/layouts/application.html.erb
56
+ - test/dummy/bin/bundle
57
+ - test/dummy/bin/rails
58
+ - test/dummy/bin/rake
59
+ - test/dummy/config.ru
60
+ - test/dummy/config/application.rb
61
+ - test/dummy/config/boot.rb
62
+ - test/dummy/config/database.yml
63
+ - test/dummy/config/environment.rb
64
+ - test/dummy/config/environments/development.rb
65
+ - test/dummy/config/environments/production.rb
66
+ - test/dummy/config/environments/test.rb
67
+ - test/dummy/config/initializers/assets.rb
68
+ - test/dummy/config/initializers/backtrace_silencers.rb
69
+ - test/dummy/config/initializers/cookies_serializer.rb
70
+ - test/dummy/config/initializers/filter_parameter_logging.rb
71
+ - test/dummy/config/initializers/inflections.rb
72
+ - test/dummy/config/initializers/mime_types.rb
73
+ - test/dummy/config/initializers/session_store.rb
74
+ - test/dummy/config/initializers/wrap_parameters.rb
75
+ - test/dummy/config/locales/en.yml
76
+ - test/dummy/config/routes.rb
77
+ - test/dummy/config/secrets.yml
78
+ - test/dummy/db/test.sqlite3
79
+ - test/dummy/log/development.log
80
+ - test/dummy/log/test.log
81
+ - test/dummy/public/404.html
82
+ - test/dummy/public/422.html
83
+ - test/dummy/public/500.html
84
+ - test/dummy/public/favicon.ico
85
+ - test/flash_analytics_test.rb
86
+ - test/test_helper.rb
87
+ homepage: http://www.github.com/fylooi/flash-analytics
88
+ licenses:
89
+ - MIT
90
+ metadata: {}
91
+ post_install_message:
92
+ rdoc_options: []
93
+ require_paths:
94
+ - lib
95
+ required_ruby_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ required_rubygems_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ requirements: []
106
+ rubyforge_project:
107
+ rubygems_version: 2.5.2
108
+ signing_key:
109
+ specification_version: 4
110
+ summary: FlashAnalytics
111
+ test_files:
112
+ - test/dummy/app/assets/javascripts/application.js
113
+ - test/dummy/app/assets/stylesheets/application.css
114
+ - test/dummy/app/controllers/application_controller.rb
115
+ - test/dummy/app/controllers/dummies_controller.rb
116
+ - test/dummy/app/helpers/application_helper.rb
117
+ - test/dummy/app/views/analytics/_test_analytics_one.html.erb
118
+ - test/dummy/app/views/analytics/_test_analytics_two.html.erb
119
+ - test/dummy/app/views/dummies/render_now.html.erb
120
+ - test/dummy/app/views/dummies/result.html.erb
121
+ - test/dummy/app/views/layouts/application.html.erb
122
+ - test/dummy/bin/bundle
123
+ - test/dummy/bin/rails
124
+ - test/dummy/bin/rake
125
+ - test/dummy/config/application.rb
126
+ - test/dummy/config/boot.rb
127
+ - test/dummy/config/database.yml
128
+ - test/dummy/config/environment.rb
129
+ - test/dummy/config/environments/development.rb
130
+ - test/dummy/config/environments/production.rb
131
+ - test/dummy/config/environments/test.rb
132
+ - test/dummy/config/initializers/assets.rb
133
+ - test/dummy/config/initializers/backtrace_silencers.rb
134
+ - test/dummy/config/initializers/cookies_serializer.rb
135
+ - test/dummy/config/initializers/filter_parameter_logging.rb
136
+ - test/dummy/config/initializers/inflections.rb
137
+ - test/dummy/config/initializers/mime_types.rb
138
+ - test/dummy/config/initializers/session_store.rb
139
+ - test/dummy/config/initializers/wrap_parameters.rb
140
+ - test/dummy/config/locales/en.yml
141
+ - test/dummy/config/routes.rb
142
+ - test/dummy/config/secrets.yml
143
+ - test/dummy/config.ru
144
+ - test/dummy/db/test.sqlite3
145
+ - test/dummy/log/development.log
146
+ - test/dummy/log/test.log
147
+ - test/dummy/public/404.html
148
+ - test/dummy/public/422.html
149
+ - test/dummy/public/500.html
150
+ - test/dummy/public/favicon.ico
151
+ - test/dummy/Rakefile
152
+ - test/dummy/README.rdoc
153
+ - test/flash_analytics_test.rb
154
+ - test/test_helper.rb