outdatedbrowser_rails 1.0.2.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 (74) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +85 -0
  4. data/Rakefile +63 -0
  5. data/app/assets/javascripts/outdatedbrowser/outdatedBrowser.js +141 -0
  6. data/app/assets/javascripts/outdatedbrowser/require_outdatedbrowser.js +21 -0
  7. data/app/assets/stylesheets/outdatedbrowser/outdatedBrowser.css +25 -0
  8. data/app/assets/stylesheets/outdatedbrowser_rails/application.css +13 -0
  9. data/app/views/layouts/outdatedbrowser_rails/application.html.erb +14 -0
  10. data/app/views/outdatedbrowser/_outdatedbrowser.html.erb +14 -0
  11. data/config/locales/en.yml +5 -0
  12. data/config/routes.rb +2 -0
  13. data/lib/outdatedbrowser_rails/engine.rb +5 -0
  14. data/lib/outdatedbrowser_rails/version.rb +3 -0
  15. data/lib/outdatedbrowser_rails.rb +4 -0
  16. data/lib/tasks/outdatedbrowser_rails_tasks.rake +4 -0
  17. data/spec/dummy/README.rdoc +261 -0
  18. data/spec/dummy/Rakefile +7 -0
  19. data/spec/dummy/app/assets/javascripts/application.js +16 -0
  20. data/spec/dummy/app/assets/stylesheets/application.css +14 -0
  21. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  22. data/spec/dummy/app/controllers/dummy_controller.rb +4 -0
  23. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  24. data/spec/dummy/app/views/dummy/index.html.erb +3 -0
  25. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/spec/dummy/config/application.rb +65 -0
  27. data/spec/dummy/config/boot.rb +10 -0
  28. data/spec/dummy/config/database.yml +25 -0
  29. data/spec/dummy/config/environment.rb +5 -0
  30. data/spec/dummy/config/environments/development.rb +37 -0
  31. data/spec/dummy/config/environments/production.rb +67 -0
  32. data/spec/dummy/config/environments/test.rb +37 -0
  33. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  34. data/spec/dummy/config/initializers/inflections.rb +15 -0
  35. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  36. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  37. data/spec/dummy/config/initializers/session_store.rb +8 -0
  38. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  39. data/spec/dummy/config/locales/en.yml +5 -0
  40. data/spec/dummy/config/routes.rb +3 -0
  41. data/spec/dummy/config.ru +4 -0
  42. data/spec/dummy/db/development.sqlite3 +0 -0
  43. data/spec/dummy/db/test.sqlite3 +0 -0
  44. data/spec/dummy/log/development.log +584 -0
  45. data/spec/dummy/log/test.log +305 -0
  46. data/spec/dummy/public/404.html +26 -0
  47. data/spec/dummy/public/422.html +26 -0
  48. data/spec/dummy/public/500.html +25 -0
  49. data/spec/dummy/public/favicon.ico +0 -0
  50. data/spec/dummy/script/rails +6 -0
  51. data/spec/dummy/tmp/cache/assets/C27/370/sprockets%2F04e4c95438f7072ab694153214746f74 +0 -0
  52. data/spec/dummy/tmp/cache/assets/C87/AA0/sprockets%2Fcf432698f09f51e19134ba8c17745253 +0 -0
  53. data/spec/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  54. data/spec/dummy/tmp/cache/assets/CED/EF0/sprockets%2F9b4914459dfa241685c0c958356afdb6 +0 -0
  55. data/spec/dummy/tmp/cache/assets/D0A/4E0/sprockets%2F5074c6afc1bd9e231b663c0690577da5 +0 -0
  56. data/spec/dummy/tmp/cache/assets/D0C/EF0/sprockets%2F0601770e556abcc0ad74f542f2ed9963 +0 -0
  57. data/spec/dummy/tmp/cache/assets/D1A/140/sprockets%2F5700ff9d76f7204a03bf74e546f8a76b +0 -0
  58. data/spec/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  59. data/spec/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  60. data/spec/dummy/tmp/cache/assets/D51/770/sprockets%2F60908e881ddca08f757df7c335cc539e +0 -0
  61. data/spec/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  62. data/spec/dummy/tmp/cache/assets/D5B/260/sprockets%2F3d8ca1585ee95c5efb388645d66cf377 +0 -0
  63. data/spec/dummy/tmp/cache/assets/D6C/FA0/sprockets%2Fb65717c2ea586a33367c3bf6ecdf141c +0 -0
  64. data/spec/dummy/tmp/cache/assets/D6E/400/sprockets%2Fe6412cb74f03a5dc2e495863d7ba82ec +0 -0
  65. data/spec/dummy/tmp/cache/assets/D77/A80/sprockets%2Fe22d705d0c889ec4837f183a9beec0f3 +0 -0
  66. data/spec/dummy/tmp/cache/assets/D89/AE0/sprockets%2Fdf3a3ca074e4fdfbc034304a2519e3c4 +0 -0
  67. data/spec/dummy/tmp/cache/assets/DA9/8D0/sprockets%2F9628521d9c47e12f8fd15fedd34ccbf3 +0 -0
  68. data/spec/dummy/tmp/cache/assets/DCE/840/sprockets%2F1dbccd35bf63a8eed444fa7e0274c846 +0 -0
  69. data/spec/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  70. data/spec/dummy/tmp/cache/assets/E04/320/sprockets%2Fa9ee9a4f24c3be57552effdc5cc234e4 +0 -0
  71. data/spec/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  72. data/spec/features/asset_integration_spec.rb +23 -0
  73. data/spec/spec_helper.rb +20 -0
  74. metadata +235 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1fab95341f820a8510300a0efb3f7d045ec380b5
4
+ data.tar.gz: 4358848091e2201a1e52db4b7a5219553de344c2
5
+ SHA512:
6
+ metadata.gz: 2cf231f6675216c4ed19f9b3713c9a588f2404231b1915dc4abd750e3f0c1c2c7523c1a01962b3980c05fe14e0212cdd6f8cc6244a215f551e7d04008db2a229
7
+ data.tar.gz: 03b6b9fc2506540b126f54a44a3e0da528890d0f2dd4c25bf31d1e0cf6c37793377a1c9081ff5b0762274412c28d1da447c4aab57f88e86453f379d17f43ee2e
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2014 YOURNAME
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,85 @@
1
+ # OutdatedbrowserRails
2
+
3
+ This project bundles the excellent Burocratik's
4
+ [Outdated Browser](https://github.com/burocratik/outdated-browser)
5
+ detector for use with the rails 3.1+ asset pipeline.
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'outdatedbrowser_rails'
13
+ ```
14
+
15
+ ## Usage
16
+
17
+ ### Including Outdated Browser assets
18
+
19
+ Add this line to your `application.js`:
20
+
21
+ ```js
22
+ //= require outdatedbrowser/outdatedBrowser
23
+ ```
24
+
25
+ Add this line to your `application.css` || `application.scss`:
26
+
27
+ ```css
28
+ //= require outdatedbrowser/outdatedBrowser
29
+ ```
30
+ ### Using the gem's strategy to require Outdated Browser
31
+
32
+ In the view where you want to use this, add:
33
+
34
+ ```erb
35
+ <%= render 'outdatedbrowser/outdatedbrowser' %>
36
+ ```
37
+
38
+ At the **bottom** of the body (make sure it's included **after**
39
+ _application.js_), add:
40
+
41
+ ```erb
42
+ <%= javascript_include_tag 'outdatedbrowser/require_outdatedbrowser' %>
43
+ ```
44
+
45
+ The gem uses `i18n` for the message strings, you can use other strings
46
+ in your application by
47
+ [looking at the keys](https://github.com/luisalima/outdatedbrowser_rails/blob/master/config/locales/en.yml)
48
+ and overriding them.
49
+
50
+ ### Manual approach to require Outdated Browser
51
+
52
+ See the [Outdated Browser usage guide](https://github.com/burocratik/outdated-browser#how-to-use-it).
53
+
54
+ #### Testing the integration in your app
55
+
56
+ * Of course, ideally use an outdated browser to test.
57
+ * With an up-to-date browser:
58
+ * In the view where you included the partial, check that `#outdated`
59
+ is present.
60
+ * See how it looks: `$('#outdated').show()
61
+
62
+ ## Contributing
63
+
64
+ Feel free to open an issue if you find something that could be improved.
65
+
66
+ Here are a couple of things worth noting:
67
+
68
+ * This is a mountable rails engine tested with `rspec` and `capybara`.
69
+ For more info or a good reference to make your own, see
70
+ [this good tutorial](http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl).
71
+ * The rake task `rake generate:assets` copies the assets from the
72
+ `vendor/outdated-browser` folder (which is a git submodule) to the
73
+ engine `app` folder.
74
+ * The rake task `clean` cleans the copied assets.
75
+ * To run tests, use `rspec spec`.
76
+
77
+ Finally, to contribute:
78
+
79
+ 1. Fork it
80
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
81
+ 3. Run tests using `rspec spec`, and make sure they are green!
82
+ 4. Add tests to `spec/features`, if necessary.
83
+ 5. Commit your changes (`git commit -am 'Add some feature'`)
84
+ 6. Push to the branch (`git push origin my-new-feature`)
85
+ 7. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env rake
2
+ begin
3
+ require 'bundler/setup'
4
+ rescue LoadError
5
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
+ end
7
+ begin
8
+ require 'rdoc/task'
9
+ rescue LoadError
10
+ require 'rdoc/rdoc'
11
+ require 'rake/rdoctask'
12
+ RDoc::Task = Rake::RDocTask
13
+ end
14
+
15
+ RDoc::Task.new(:rdoc) do |rdoc|
16
+ rdoc.rdoc_dir = 'rdoc'
17
+ rdoc.title = 'OutdatedbrowserRails'
18
+ rdoc.options << '--line-numbers'
19
+ rdoc.rdoc_files.include('README.rdoc')
20
+ rdoc.rdoc_files.include('lib/**/*.rb')
21
+ end
22
+
23
+ APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
24
+ load 'rails/tasks/engine.rake'
25
+
26
+ Bundler::GemHelper.install_tasks
27
+
28
+ require 'rspec/core'
29
+ require 'rspec/core/rake_task'
30
+ desc "Run all specs in spec directory (excluding plugin specs)"
31
+ RSpec::Core::RakeTask.new(:spec => 'app:db:test:prepare')
32
+ task :default => :spec
33
+
34
+ dependencies = {
35
+ javascripts: ['outdatedBrowser.js'],
36
+ stylesheets: ['outdatedBrowser.css']
37
+ }
38
+
39
+ origin = 'vendor/outdated-browser/outdatedbrowser'
40
+
41
+ desc "Clean assets"
42
+ task :clean do
43
+ dependencies.each do |filetype, filenames|
44
+ filenames.each do |filename|
45
+ rm_rf "app/assets/#{filetype}/outdatedbrowser/#{filename}"
46
+ end
47
+ end
48
+ end
49
+
50
+ namespace :generate do
51
+ desc "Generate assets"
52
+ task :assets do
53
+ Rake.rake_output_message "Copying javascripts"
54
+ target_dir = "app/assets/javascripts/outdatedbrowser"
55
+ mkdir_p target_dir
56
+ puts FileUtils.cp(Dir.glob("#{origin}/outdatedBrowser.js"), target_dir)
57
+
58
+ Rake.rake_output_message "Copying css files"
59
+ target_dir = "app/assets/stylesheets/outdatedbrowser"
60
+ mkdir_p target_dir
61
+ puts FileUtils.cp(Dir.glob("#{origin}/outdatedBrowser.css"), target_dir)
62
+ end
63
+ end
@@ -0,0 +1,141 @@
1
+ /*!--------------------------------------------------------------------
2
+ JAVASCRIPT "Outdated Browser"
3
+ Version: 1.0.2 - 2014
4
+ author: Burocratik
5
+ website: http://www.burocratik.com
6
+ * @preserve
7
+ -----------------------------------------------------------------------*/
8
+ var outdatedBrowser = function(options) {
9
+
10
+ //Variable definition
11
+ var outdated = document.getElementById("outdated");
12
+ var btnClose = document.getElementById("btnCloseUpdateBrowser");
13
+ var btnUpdate = document.getElementById("btnUpdateBrowser");
14
+
15
+ // Default settings
16
+ this.defaultOpts = {
17
+ bgColor: '#F25648',
18
+ color: '#FFFFFF',
19
+ lowerThan: 'transform'
20
+ };
21
+
22
+ if (options) {
23
+ this.defaultOpts.bgColor = options.bgColor;
24
+ this.defaultOpts.color = options.color;
25
+
26
+ //assign css3 property to IE browser version
27
+ if(options.lowerThan == 'IE8' || options.lowerThan == 'borderSpacing') {
28
+ options.lowerThan = 'borderSpacing';
29
+ } else if (options.lowerThan == 'IE9' || options.lowerThan == 'boxShadow') {
30
+ options.lowerThan = 'boxShadow';
31
+ } else if (options.lowerThan == 'IE10' || options.lowerThan == 'transform' || options.lowerThan == '' || typeof options.lowerThan === "undefined") {
32
+ options.lowerThan = 'transform';
33
+ } else if (options.lowerThan == 'IE11' || options.lowerThan == 'borderImage') {
34
+ options.lowerThan = 'borderImage';
35
+ }
36
+
37
+ this.defaultOpts.lowerThan = options.lowerThan;
38
+
39
+ bkgColor = this.defaultOpts.bgColor;
40
+ txtColor = this.defaultOpts.color;
41
+ cssProp = this.defaultOpts.lowerThan;
42
+ } else {
43
+ bkgColor = this.defaultOpts.bgColor;
44
+ txtColor = this.defaultOpts.color;
45
+ cssProp = this.defaultOpts.lowerThan;
46
+ }
47
+
48
+ //Define opacity and fadeIn/fadeOut functions
49
+ var done = true;
50
+
51
+ function function_opacity(opacity_value) {
52
+ outdated.style.opacity = opacity_value / 100;
53
+ outdated.style.filter = 'alpha(opacity=' + opacity_value + ')';
54
+ }
55
+
56
+ function function_fade_out(opacity_value) {
57
+ function_opacity(opacity_value);
58
+ if (opacity_value == 1) {
59
+ outdated.style.display = 'none';
60
+ done = true;
61
+ }
62
+ }
63
+
64
+ function function_fade_in(opacity_value) {
65
+ function_opacity(opacity_value);
66
+ if (opacity_value == 1) {
67
+ outdated.style.display = 'block';
68
+ }
69
+ if (opacity_value == 100) {
70
+ done = true;
71
+ }
72
+ }
73
+
74
+ //check if element has a particular class
75
+ function hasClass(element, cls) {
76
+ return (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;
77
+ }
78
+
79
+ var supports = (function() {
80
+ var div = document.createElement('div'),
81
+ vendors = 'Khtml Ms O Moz Webkit'.split(' '),
82
+ len = vendors.length;
83
+
84
+ return function(prop) {
85
+ if ( prop in div.style ) return true;
86
+
87
+ prop = prop.replace(/^[a-z]/, function(val) {
88
+ return val.toUpperCase();
89
+ });
90
+
91
+ while(len--) {
92
+ if ( vendors[len] + prop in div.style ) {
93
+ return true;
94
+ }
95
+ }
96
+ return false;
97
+ };
98
+ })();
99
+
100
+ //check for css3 property support (transform=default)
101
+ if ( !supports(''+ cssProp +'') ) {
102
+ if (done && outdated.style.opacity !== '1') {
103
+ done = false;
104
+ for (var i = 1; i <= 100; i++) {
105
+ setTimeout((function (x) {
106
+ return function () {
107
+ function_fade_in(x);
108
+ };
109
+ })(i), i * 10);
110
+ }
111
+ }
112
+ //close button
113
+ btnClose.onmousedown = function() {
114
+ outdated.style.display = 'none';
115
+ return false;
116
+ };
117
+ }
118
+
119
+
120
+ //check settings attributes
121
+ outdated.style.backgroundColor = bkgColor;
122
+ //way too hard to put !important on IE6
123
+ outdated.style.color = txtColor;
124
+ outdated.children[0].style.color = txtColor;
125
+ outdated.children[1].style.color = txtColor;
126
+
127
+ //check settings attributes
128
+ btnUpdate.style.color = txtColor;
129
+ btnUpdate.style.borderColor = txtColor;
130
+ btnClose.style.color = txtColor;
131
+
132
+ //Override the update button color to match the background color
133
+ btnUpdate.onmouseover = function() {
134
+ this.style.color = bkgColor;
135
+ this.style.backgroundColor = txtColor;
136
+ };
137
+ btnUpdate.onmouseout = function() {
138
+ this.style.color = txtColor;
139
+ this.style.backgroundColor = bkgColor;
140
+ };
141
+ };//end of function
@@ -0,0 +1,21 @@
1
+
2
+ //event listener: DOM ready
3
+ function addLoadEvent(func) {
4
+ var oldonload = window.onload;
5
+ if (typeof window.onload != 'function') {
6
+ window.onload = func;
7
+ } else {
8
+ window.onload = function() {
9
+ oldonload();
10
+ func();
11
+ }
12
+ }
13
+ }
14
+ //call plugin function after DOM ready
15
+ addLoadEvent(
16
+ outdatedBrowser({
17
+ bgColor: '#f25648',
18
+ color: '#ffffff',
19
+ lowerThan: 'transform'
20
+ })
21
+ );
@@ -0,0 +1,25 @@
1
+ /*!--------------------------------------------------------------------
2
+ STYLES "Outdated Browser"
3
+ Version: 1.0.2 - 2014
4
+ author: Burocratik
5
+ website: http://www.burocratik.com
6
+ * @preserve
7
+ -----------------------------------------------------------------------*/
8
+ #outdated{
9
+ display: none; position: fixed; top: 0; left: 0; width: 100%; height: 170px;
10
+ text-align: center; text-transform: uppercase; z-index:1500;
11
+ background-color: #f25648; color: #ffffff;
12
+ }
13
+ * html #outdated{position: absolute;}
14
+ #outdated h6{font-size: 25px; line-height: 25px; margin: 30px 0 10px;}
15
+ #outdated p{font-size: 12px; line-height: 12px;}
16
+ #outdated #btnUpdateBrowser{
17
+ display: block; position: relative; padding: 10px 20px; margin: 30px auto 0; width: 180px;
18
+ color: #ffffff; text-decoration: none; border: 2px solid #ffffff; cursor: pointer;
19
+ }
20
+ #outdated #btnUpdateBrowser:hover{color: #f25648; background-color:#ffffff;}
21
+ #outdated .last{position: absolute; top: 20px; right: 30px; width: 15px; height: 15px;}
22
+ #outdated #btnCloseUpdateBrowser{
23
+ display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%;
24
+ text-decoration: none; color: #ffffff; font-size: 36px;
25
+ }
@@ -0,0 +1,13 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>OutdatedbrowserRails</title>
5
+ <%= stylesheet_link_tag "outdatedbrowser_rails/application", :media => "all" %>
6
+ <%= javascript_include_tag "outdatedbrowser_rails/application" %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -0,0 +1,14 @@
1
+ <div id="outdated">
2
+ <h6>
3
+ <%= t('outdatedbrowser.out_of_date') %>
4
+ </h6>
5
+ <p>
6
+ <%= t('outdatedbrowser.suggest_update') %>
7
+ <a id="btnUpdateBrowser" href="http://outdatedbrowser.com/">
8
+ <%= t('outdatedbrowser.update_now') %>
9
+ </a>
10
+ </p>
11
+ <p class="last">
12
+ <a href="#" id="btnCloseUpdateBrowser" title="Close">&times;</a>
13
+ </p>
14
+ </div>
@@ -0,0 +1,5 @@
1
+ en:
2
+ outdatedbrowser:
3
+ out_of_date: 'Your browser is out-of-date!'
4
+ suggest_update: 'Update your browser to view this website correctly.'
5
+ update_now: 'Update my browser now'
data/config/routes.rb ADDED
@@ -0,0 +1,2 @@
1
+ OutdatedbrowserRails::Engine.routes.draw do
2
+ end
@@ -0,0 +1,5 @@
1
+ module OutdatedbrowserRails
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace OutdatedbrowserRails
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module OutdatedbrowserRails
2
+ VERSION = "1.0.2.0"
3
+ end
@@ -0,0 +1,4 @@
1
+ require "outdatedbrowser_rails/engine"
2
+
3
+ module OutdatedbrowserRails
4
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :outdatedbrowser_rails do
3
+ # # Task goes here
4
+ # end