cookies_eu 1.6.3 → 1.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b1a62e4b5f016e41950bc022ab90ab47d94b7cc5
4
- data.tar.gz: 20aeb7aea9379773a46272fc0da27214a44f5b27
2
+ SHA256:
3
+ metadata.gz: 4a07e6be69c7cddbe47c86c923ce4ce86281f30d8dbd61f01d07eee4fca506a8
4
+ data.tar.gz: faf656330fdafea1be7c873b078598d0734bc35d2710c228c57eb93cbc330528
5
5
  SHA512:
6
- metadata.gz: 15ca4fbb7eb41e3a9c2ffbaa759a7fce759ff3f5ec82c5c026a88b060300c4f98891c8d62bd6c3deb6e5058b6b3eb8b0f525c2fe84f889cf1e8709f5991b938e
7
- data.tar.gz: 965ba8540ed4efa7f2f2b5717050a5789a6affdf332a49ace55587df20f8bc193b7fc02a8239e8525a537b56b5bd991caf330f7e31aa2cfe3b69e07e74536660
6
+ metadata.gz: a187d6d00ae909c5b54bff5a10e81e1db30538ebfc514816930a31a480041345ad4dd5b43630d891bde78444f9d9f23c7537dd210cc80e406a3dec58bbdf8ad8
7
+ data.tar.gz: d62f0a297dece5372d266bdb542b476c0c8d28d98ed11bfa4800c4016056b27eb7f69f65fc0037c4fadd7ef5bdf340cba55309696f9f5004740d1aa7b23f8bc6
data/README.md CHANGED
@@ -50,7 +50,7 @@ Or manually add in application.js:
50
50
  And in application.css:
51
51
 
52
52
  *= require cookies_eu
53
-
53
+
54
54
  Or, if you have application.scss:
55
55
 
56
56
  @import "cookies_eu";
@@ -79,17 +79,20 @@ You can add a target parameter to the link to open in a new tab
79
79
 
80
80
  If you wish to customize the style of the div the classes are:
81
81
 
82
- ```javascript
83
- .cookies-eu // main div
84
- .cookies-eu-content-holder // content holder
85
- .cookies-eu-button-holder // button holder
86
- .cookies-eu-ok // button
87
- .cookies-eu-link // link
82
+ ```css
83
+ .cookies-eu /* main div */
84
+ .cookies-eu-content-holder /* content holder */
85
+ .cookies-eu-button-holder /* button holder */
86
+ .cookies-eu-ok /* button */
87
+ .cookies-eu-link /* link */
88
88
  ```
89
89
 
90
- ## Turbolinks NOT supported
90
+ ## Turbolinks 5+
91
+
92
+ Is supported out of the box, just require it before cookies_eu
91
93
 
92
- Please use [jquery.turbolinks gem](https://github.com/kossnocorp/jquery.turbolinks)
94
+ //= require turbolinks
95
+ //= require cookies_eu
93
96
 
94
97
  ## Sample of cookie info (in [haml form](/app/views/cookies_eu/cookies_info.html.haml))
95
98
 
@@ -1,12 +1,16 @@
1
1
  //= require js.cookie
2
2
  'use strict';
3
3
 
4
+ var windowIsTurbolinked = 'Turbolinks' in window;
5
+
4
6
  var cookiesEu = {
5
7
  init: function() {
6
8
  var cookiesEuOKButton = document.querySelector('.js-cookies-eu-ok');
7
9
 
8
10
  if (cookiesEuOKButton) {
9
11
  this.addListener(cookiesEuOKButton);
12
+ // clear turbolinks cache so cookie banner does not reappear
13
+ windowIsTurbolinked && window.Turbolinks.clearCache();
10
14
  }
11
15
  },
12
16
 
@@ -28,23 +32,31 @@ var cookiesEu = {
28
32
  };
29
33
 
30
34
  (function() {
35
+ function eventName(fallback) {
36
+ return windowIsTurbolinked ? 'turbolinks:load' : fallback
37
+ }
38
+
31
39
  var isCalled = false;
32
40
 
33
41
  function isReady() {
34
- if (isCalled) return;
42
+ // return early when cookiesEu.init has been called AND Turbolinks is NOT included
43
+ // when Turbolinks is included cookiesEu.init has to be called on every page load
44
+ if (isCalled && !windowIsTurbolinked) {
45
+ return
46
+ }
35
47
  isCalled = true;
36
48
 
37
49
  cookiesEu.init();
38
50
  }
39
51
 
40
52
  if (document.addEventListener) {
41
- document.addEventListener('DOMContentLoaded', isReady, false);
53
+ return document.addEventListener(eventName('DOMContentLoaded'), isReady, false);
42
54
  }
43
55
 
44
56
  // Old browsers IE < 9
45
57
  if (window.addEventListener) {
46
- window.addEventListener('load', isReady, false);
58
+ window.addEventListener(eventName('load'), isReady, false);
47
59
  } else if (window.attachEvent) {
48
- window.attachEvent('onload', isReady);
60
+ window.attachEvent(eventName('onload'), isReady);
49
61
  }
50
62
  })();
data/cookies_eu.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "js_cookie_rails"
21
+ spec.add_dependency "js_cookie_rails", "~> 2.2.0"
22
22
  spec.add_development_dependency "bundler", "~> 1.3"
23
23
  spec.add_development_dependency "rake"
24
24
  end
@@ -1,3 +1,3 @@
1
1
  module CookiesEu
2
- VERSION = "1.6.3"
2
+ VERSION = "1.7.0"
3
3
  end
@@ -6,7 +6,18 @@ module CookiesEu
6
6
  end
7
7
 
8
8
  def add_stylesheets
9
- inject_into_file 'app/assets/stylesheets/application.css', "*= require cookies_eu\n", before: /\*\//, verbose: true
9
+ file = 'app/assets/stylesheets/application'
10
+ css_file = "#{file}.css"
11
+ scss_file = "#{file}.scss"
12
+ css_scss_file = "#{file}.css.scss"
13
+
14
+ if File.exists?(css_file)
15
+ inject_into_file css_file, "*= require cookies_eu\n", before: /\*\//, verbose: true
16
+ elsif File.exists?(scss_file)
17
+ append_file scss_file, "@import 'cookies_eu';\n"
18
+ else
19
+ append_file css_scss_file, "@import 'cookies_eu';\n"
20
+ end
10
21
  end
11
22
  end
12
23
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cookies_eu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stjepan Hadjic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-08 00:00:00.000000000 Z
11
+ date: 2018-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: js_cookie_rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 2.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 2.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  version: '0'
116
116
  requirements: []
117
117
  rubyforge_project:
118
- rubygems_version: 2.6.13
118
+ rubygems_version: 2.7.6
119
119
  signing_key:
120
120
  specification_version: 4
121
121
  summary: Displays a cookie consent. If you dont disable cokkies in settings, we assume