cookei 0.2.4
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 +7 -0
- data/README.md +28 -0
- data/Rakefile +34 -0
- data/app/assets/config/cookei_manifest.js +1 -0
- data/app/assets/stylesheets/cookei.scss +433 -0
- data/app/controllers/cookei/api/v1/cookies_controller.rb +17 -0
- data/app/controllers/cookei/application_controller.rb +9 -0
- data/app/helpers/cookei/application_helper.rb +8 -0
- data/app/jobs/cookei/application_job.rb +8 -0
- data/app/mailers/cookei/application_mailer.rb +10 -0
- data/app/models/cookei/application_record.rb +9 -0
- data/app/views/cookei/api/v1/cookies/_disclaimer.html.erb +38 -0
- data/app/views/cookei/api/v1/cookies/create.js.erb +1 -0
- data/app/views/cookei/tracking/marketing/_google_adsense.html.erb +1 -0
- data/app/views/cookei/tracking/statistics/_google_analytics.html.erb +1 -0
- data/app/views/layouts/cookei/application.html.erb +15 -0
- data/config/initializers/cookei.rb +16 -0
- data/config/locales/en.yml +13 -0
- data/config/locales/fi.yml +13 -0
- data/config/locales/lv.yml +13 -0
- data/config/routes.rb +9 -0
- data/lib/cookei.rb +7 -0
- data/lib/cookei/engine.rb +9 -0
- data/lib/cookei/version.rb +5 -0
- data/lib/tasks/cookei_tasks.rake +6 -0
- metadata +151 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6c30540b8b626482ec9d1a6067cb2b96abb108d0cc4f9437ff5068e833719452
|
4
|
+
data.tar.gz: ed1141543ed41e304d9108fd578e4e764e761ca81a72ece0cdca7ef772731fe4
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 99402979b678191054a541b9593bae41547257a062ace71ac7757d0dcfb7a2ff2700baccfe371f7ac4a3cdbbac2b69338244f68a0709701d9a85fdfd96955910
|
7
|
+
data.tar.gz: e9c3b87c11ab36bb330533b7fb4f344fc13ea9a3570f87bbb0d7d42f272e9eaae0ecfbd2c322114ab471ff56ac73409890ec9053c0e1af02c8480146b3fe3389
|
data/README.md
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# Cookei
|
2
|
+
Short description and motivation.
|
3
|
+
|
4
|
+
## Usage
|
5
|
+
How to use my plugin.
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
Add this line to your application's Gemfile:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'cookei'
|
12
|
+
```
|
13
|
+
|
14
|
+
And then execute:
|
15
|
+
```bash
|
16
|
+
$ bundle
|
17
|
+
```
|
18
|
+
|
19
|
+
Or install it yourself as:
|
20
|
+
```bash
|
21
|
+
$ gem install cookei
|
22
|
+
```
|
23
|
+
|
24
|
+
## Contributing
|
25
|
+
Contribution directions go here.
|
26
|
+
|
27
|
+
## License
|
28
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'bundler/setup'
|
5
|
+
rescue LoadError
|
6
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
7
|
+
end
|
8
|
+
|
9
|
+
require 'rdoc/task'
|
10
|
+
|
11
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
12
|
+
rdoc.rdoc_dir = 'rdoc'
|
13
|
+
rdoc.title = 'Cookei'
|
14
|
+
rdoc.options << '--line-numbers'
|
15
|
+
rdoc.rdoc_files.include('README.md')
|
16
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
17
|
+
end
|
18
|
+
|
19
|
+
APP_RAKEFILE = File.expand_path('test/dummy/Rakefile', __dir__)
|
20
|
+
load 'rails/tasks/engine.rake'
|
21
|
+
|
22
|
+
load 'rails/tasks/statistics.rake'
|
23
|
+
|
24
|
+
require 'bundler/gem_tasks'
|
25
|
+
|
26
|
+
require 'rake/testtask'
|
27
|
+
|
28
|
+
Rake::TestTask.new(:test) do |t|
|
29
|
+
t.libs << 'test'
|
30
|
+
t.pattern = 'test/**/*_test.rb'
|
31
|
+
t.verbose = false
|
32
|
+
end
|
33
|
+
|
34
|
+
task default: :test
|
@@ -0,0 +1 @@
|
|
1
|
+
//= link_directory ../stylesheets/cookei .css
|
@@ -0,0 +1,433 @@
|
|
1
|
+
#cookei_disclaimer {
|
2
|
+
font-size: 16px;
|
3
|
+
|
4
|
+
div {
|
5
|
+
width: 100%;
|
6
|
+
padding: 17px 15px 8px 15px;
|
7
|
+
margin-right: auto;
|
8
|
+
margin-left: auto;
|
9
|
+
}
|
10
|
+
|
11
|
+
p {
|
12
|
+
display: inline;
|
13
|
+
|
14
|
+
&:first-of-type {
|
15
|
+
font-weight: 700;
|
16
|
+
margin-right: 4px;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
|
20
|
+
a {
|
21
|
+
text-decoration: underline;
|
22
|
+
|
23
|
+
&:hover {
|
24
|
+
opacity: 0.8;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
form {
|
29
|
+
margin-top: 5px;
|
30
|
+
|
31
|
+
label {
|
32
|
+
position: relative;
|
33
|
+
padding-left: 26px;
|
34
|
+
margin-right: 16px;
|
35
|
+
margin-top: 9px;
|
36
|
+
cursor: pointer;
|
37
|
+
-webkit-user-select: none;
|
38
|
+
-moz-user-select: none;
|
39
|
+
-ms-user-select: none;
|
40
|
+
user-select: none;
|
41
|
+
|
42
|
+
input[type="checkbox"] {
|
43
|
+
display: none;
|
44
|
+
}
|
45
|
+
|
46
|
+
input:checked ~ span::after {
|
47
|
+
display: block;
|
48
|
+
}
|
49
|
+
|
50
|
+
span {
|
51
|
+
position: absolute;
|
52
|
+
top: 0;
|
53
|
+
left: 0;
|
54
|
+
height: 15px;
|
55
|
+
width: 15px;
|
56
|
+
margin-top: 4px;
|
57
|
+
|
58
|
+
&::after {
|
59
|
+
left: 4px;
|
60
|
+
top: 1px;
|
61
|
+
width: 5px;
|
62
|
+
height: 10px;
|
63
|
+
-webkit-transform: rotate(45deg);
|
64
|
+
-ms-transform: rotate(45deg);
|
65
|
+
transform: rotate(45deg);
|
66
|
+
content: "";
|
67
|
+
position: absolute;
|
68
|
+
display: none;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
&:hover {
|
73
|
+
opacity: 0.8;
|
74
|
+
}
|
75
|
+
|
76
|
+
&[for=required] {
|
77
|
+
pointer-events: none;
|
78
|
+
opacity: 0.8;
|
79
|
+
|
80
|
+
span::after {
|
81
|
+
opacity: 0.8;
|
82
|
+
}
|
83
|
+
|
84
|
+
&::after {
|
85
|
+
opacity: 0.8;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
.submit {
|
91
|
+
padding: 0;
|
92
|
+
|
93
|
+
input[type="submit"] {
|
94
|
+
padding: 3px 4px;
|
95
|
+
min-width: 150px;
|
96
|
+
font-size: 14px;
|
97
|
+
max-height: 30px;
|
98
|
+
cursor: pointer;
|
99
|
+
|
100
|
+
&[name="selected"] {
|
101
|
+
background-color: transparent;
|
102
|
+
margin-right: 15px;
|
103
|
+
}
|
104
|
+
|
105
|
+
&:hover {
|
106
|
+
opacity: 0.8;
|
107
|
+
}
|
108
|
+
}
|
109
|
+
}
|
110
|
+
}
|
111
|
+
}
|
112
|
+
|
113
|
+
.gray {
|
114
|
+
color: #253806;
|
115
|
+
|
116
|
+
a {
|
117
|
+
color: #707070;
|
118
|
+
|
119
|
+
&:hover {
|
120
|
+
color: #707070;
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
label {
|
125
|
+
span {
|
126
|
+
border: 1px solid #000;
|
127
|
+
|
128
|
+
&::after {
|
129
|
+
border: solid #000;
|
130
|
+
border-width: 0 3px 3px 0;
|
131
|
+
}
|
132
|
+
}
|
133
|
+
|
134
|
+
&[for=required] {
|
135
|
+
span {
|
136
|
+
border: 1px solid #9e9e9e;
|
137
|
+
|
138
|
+
&::after {
|
139
|
+
border: solid #9e9e9e;
|
140
|
+
border-width: 0 3px 3px 0;
|
141
|
+
}
|
142
|
+
}
|
143
|
+
}
|
144
|
+
}
|
145
|
+
|
146
|
+
input[type="submit"] {
|
147
|
+
border: 1px solid #707070;
|
148
|
+
background-color: #707070;
|
149
|
+
color: #fff;
|
150
|
+
|
151
|
+
&[name="selected"] {
|
152
|
+
color: #253806;
|
153
|
+
}
|
154
|
+
}
|
155
|
+
}
|
156
|
+
|
157
|
+
.pink {
|
158
|
+
color: #777;
|
159
|
+
background-color: #ffc4b9;
|
160
|
+
|
161
|
+
a {
|
162
|
+
color: #777;
|
163
|
+
|
164
|
+
&:hover {
|
165
|
+
color: #777;
|
166
|
+
}
|
167
|
+
}
|
168
|
+
|
169
|
+
label {
|
170
|
+
span {
|
171
|
+
border: 1px solid #777;
|
172
|
+
|
173
|
+
&::after {
|
174
|
+
border: solid #777;
|
175
|
+
border-width: 0 3px 3px 0;
|
176
|
+
}
|
177
|
+
}
|
178
|
+
|
179
|
+
&[for=required] {
|
180
|
+
span {
|
181
|
+
border: 1px solid #777;
|
182
|
+
|
183
|
+
&::after {
|
184
|
+
border: solid #777;
|
185
|
+
border-width: 0 3px 3px 0;
|
186
|
+
}
|
187
|
+
}
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
input[type="submit"] {
|
192
|
+
border: 1px solid #777;
|
193
|
+
background-color: #777;
|
194
|
+
color: #fff;
|
195
|
+
|
196
|
+
&[name="selected"] {
|
197
|
+
color: #777;
|
198
|
+
}
|
199
|
+
}
|
200
|
+
}
|
201
|
+
|
202
|
+
.green {
|
203
|
+
color: #525252;
|
204
|
+
|
205
|
+
a {
|
206
|
+
color: #94c01a;
|
207
|
+
|
208
|
+
&:hover {
|
209
|
+
color: #94c01a;
|
210
|
+
}
|
211
|
+
}
|
212
|
+
|
213
|
+
label {
|
214
|
+
span {
|
215
|
+
border: 1px solid #525252;
|
216
|
+
|
217
|
+
&::after {
|
218
|
+
border: solid #525252;
|
219
|
+
border-width: 0 3px 3px 0;
|
220
|
+
}
|
221
|
+
}
|
222
|
+
|
223
|
+
&[for=required] {
|
224
|
+
span {
|
225
|
+
border: 1px solid #525252;
|
226
|
+
|
227
|
+
&::after {
|
228
|
+
border: solid #525252;
|
229
|
+
border-width: 0 3px 3px 0;
|
230
|
+
}
|
231
|
+
}
|
232
|
+
}
|
233
|
+
}
|
234
|
+
|
235
|
+
input[type="submit"] {
|
236
|
+
border: 1px solid #94c01a;
|
237
|
+
background-color: #94c01a;
|
238
|
+
color: #fff;
|
239
|
+
|
240
|
+
&[name="selected"] {
|
241
|
+
color: #525252;
|
242
|
+
}
|
243
|
+
}
|
244
|
+
}
|
245
|
+
|
246
|
+
.blue {
|
247
|
+
color: #fff;
|
248
|
+
background-color: #45b1ce;
|
249
|
+
|
250
|
+
a {
|
251
|
+
color: #fff;
|
252
|
+
|
253
|
+
&:hover {
|
254
|
+
color: #fff;
|
255
|
+
}
|
256
|
+
}
|
257
|
+
|
258
|
+
label {
|
259
|
+
span {
|
260
|
+
border: 1px solid #fff;
|
261
|
+
|
262
|
+
&::after {
|
263
|
+
border: solid #fff;
|
264
|
+
border-width: 0 3px 3px 0;
|
265
|
+
}
|
266
|
+
}
|
267
|
+
|
268
|
+
&[for=required] {
|
269
|
+
span {
|
270
|
+
border: 1px solid #fff;
|
271
|
+
|
272
|
+
&::after {
|
273
|
+
border: solid #fff;
|
274
|
+
border-width: 0 3px 3px 0;
|
275
|
+
}
|
276
|
+
}
|
277
|
+
}
|
278
|
+
}
|
279
|
+
|
280
|
+
input[type="submit"] {
|
281
|
+
border: 1px solid #fff;
|
282
|
+
background-color: #fff;
|
283
|
+
color: #253806;
|
284
|
+
|
285
|
+
&[name="selected"] {
|
286
|
+
color: #fff;
|
287
|
+
}
|
288
|
+
}
|
289
|
+
}
|
290
|
+
|
291
|
+
.yellow {
|
292
|
+
color: #231f20;
|
293
|
+
|
294
|
+
a {
|
295
|
+
color: #231f20;
|
296
|
+
font-weight: 700;
|
297
|
+
|
298
|
+
&:hover {
|
299
|
+
color: #231f20;
|
300
|
+
}
|
301
|
+
}
|
302
|
+
|
303
|
+
label {
|
304
|
+
span {
|
305
|
+
border: 2px solid #231f20;
|
306
|
+
|
307
|
+
&::after {
|
308
|
+
border: solid #231f20;
|
309
|
+
border-width: 0 3px 3px 0;
|
310
|
+
left: 3px;
|
311
|
+
top: 0;
|
312
|
+
}
|
313
|
+
}
|
314
|
+
|
315
|
+
&[for=required] {
|
316
|
+
span {
|
317
|
+
border: 2px solid #231f20;
|
318
|
+
|
319
|
+
&::after {
|
320
|
+
border: solid #231f20;
|
321
|
+
border-width: 0 3px 3px 0;
|
322
|
+
}
|
323
|
+
}
|
324
|
+
}
|
325
|
+
}
|
326
|
+
|
327
|
+
input[type="submit"] {
|
328
|
+
border: 1px solid #ffd400;
|
329
|
+
background-color: #ffd400;
|
330
|
+
color: #253806;
|
331
|
+
|
332
|
+
&[name="selected"] {
|
333
|
+
color: #231f20;
|
334
|
+
}
|
335
|
+
}
|
336
|
+
}
|
337
|
+
|
338
|
+
.fixed-top {
|
339
|
+
position: fixed;
|
340
|
+
top: 0;
|
341
|
+
right: 0;
|
342
|
+
left: 0;
|
343
|
+
z-index: 1030;
|
344
|
+
}
|
345
|
+
|
346
|
+
.fixed-bottom {
|
347
|
+
position: fixed;
|
348
|
+
right: 0;
|
349
|
+
bottom: 0;
|
350
|
+
left: 0;
|
351
|
+
z-index: 1030;
|
352
|
+
}
|
353
|
+
|
354
|
+
@media (min-width: 576px) {
|
355
|
+
#cookei_disclaimer {
|
356
|
+
div {
|
357
|
+
max-width: 540px;
|
358
|
+
}
|
359
|
+
}
|
360
|
+
}
|
361
|
+
|
362
|
+
@media (min-width: 768px) {
|
363
|
+
#cookei_disclaimer {
|
364
|
+
div {
|
365
|
+
max-width: 720px;
|
366
|
+
}
|
367
|
+
}
|
368
|
+
}
|
369
|
+
|
370
|
+
@media (min-width: 992px) {
|
371
|
+
#cookei_disclaimer {
|
372
|
+
div {
|
373
|
+
max-width: 960px;
|
374
|
+
}
|
375
|
+
|
376
|
+
form {
|
377
|
+
display: flex;
|
378
|
+
|
379
|
+
.submit {
|
380
|
+
text-align: right;
|
381
|
+
}
|
382
|
+
}
|
383
|
+
}
|
384
|
+
}
|
385
|
+
|
386
|
+
@media (min-width: 1200px) {
|
387
|
+
#cookei_disclaimer {
|
388
|
+
div {
|
389
|
+
max-width: 1140px;
|
390
|
+
}
|
391
|
+
}
|
392
|
+
}
|
393
|
+
|
394
|
+
@media (max-width: 991px) {
|
395
|
+
#cookei_disclaimer {
|
396
|
+
padding-bottom: 12px;
|
397
|
+
}
|
398
|
+
}
|
399
|
+
|
400
|
+
@media (max-width: 575px) {
|
401
|
+
#cookei_disclaimer {
|
402
|
+
div {
|
403
|
+
padding: 21px 14px 8px 15px;
|
404
|
+
}
|
405
|
+
|
406
|
+
p:first-of-type {
|
407
|
+
display: block;
|
408
|
+
margin-bottom: 0;
|
409
|
+
}
|
410
|
+
|
411
|
+
form {
|
412
|
+
margin-top: 16px;
|
413
|
+
|
414
|
+
label {
|
415
|
+
margin-top: 0;
|
416
|
+
margin-bottom: 0;
|
417
|
+
}
|
418
|
+
|
419
|
+
.submit {
|
420
|
+
margin-top: 15px;
|
421
|
+
|
422
|
+
input[type="submit"] {
|
423
|
+
min-width: 135px;
|
424
|
+
font-size: 13px;
|
425
|
+
|
426
|
+
&[name="selected"] {
|
427
|
+
margin-right: 5px;
|
428
|
+
}
|
429
|
+
}
|
430
|
+
}
|
431
|
+
}
|
432
|
+
}
|
433
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# rubocop:disable Style/ClassAndModuleChildren
|
4
|
+
module Cookei
|
5
|
+
class Api::V1::CookiesController < ApplicationController
|
6
|
+
def create
|
7
|
+
session[:tracking_settings_set] = true
|
8
|
+
|
9
|
+
COOKEI_ENABLED_TRACKERS.each do |key, value|
|
10
|
+
value.each do |tracker|
|
11
|
+
session[tracker] = params[:all] ? true : params[key]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
# rubocop:enable Style/ClassAndModuleChildren
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<%- unless session[:tracking_settings_set] %>
|
2
|
+
<div id="cookei_disclaimer" class="<%= COOKEI_STYLE %> <%= COOKEI_POSITION %>">
|
3
|
+
<div>
|
4
|
+
<%= t('cookei.disclaimer.text_html') %>
|
5
|
+
<%= link_to t('cookei.disclaimer.read_more'), COOKEI_POLICY_URL %>
|
6
|
+
<%= form_with(url: cookei.api_v1_cookies_path, method: :post, data: { remote: true }) do %>
|
7
|
+
<%= label_tag :required do %>
|
8
|
+
<%= check_box_tag(:required, :required, checked: true) %>
|
9
|
+
<span></span>
|
10
|
+
<%= t('cookei.disclaimer.labels.required') %>
|
11
|
+
<%- end %>
|
12
|
+
|
13
|
+
<%- COOKEI_ENABLED_TRACKERS.each do |key, value| %>
|
14
|
+
<%- next if key == :required %>
|
15
|
+
<%- next if value.size.zero? %>
|
16
|
+
<%- sym_key = key.to_sym %>
|
17
|
+
<%= label_tag sym_key do %>
|
18
|
+
<%= check_box_tag(sym_key) %>
|
19
|
+
<span></span>
|
20
|
+
<%= t("cookei.disclaimer.labels.#{sym_key}") %>
|
21
|
+
<%- end %>
|
22
|
+
<% end %>
|
23
|
+
|
24
|
+
<div class="submit">
|
25
|
+
<%= submit_tag(t('cookei.disclaimer.buttons.accept_selected'), name: 'selected') %>
|
26
|
+
<%= submit_tag(t('cookei.disclaimer.buttons.accept_all'), name: 'all') %>
|
27
|
+
</div>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
<%- end %>
|
32
|
+
|
33
|
+
<%- COOKEI_ENABLED_TRACKERS.each do |key, value| %>
|
34
|
+
<%- value.each do |tracker| %>
|
35
|
+
<%- next unless session[tracker] %>
|
36
|
+
<%= render "cookei/tracking/#{key}/#{tracker}" %>
|
37
|
+
<%- end %>
|
38
|
+
<%- end %>
|
@@ -0,0 +1 @@
|
|
1
|
+
document.getElementById('cookei_disclaimer').style.display = 'none';
|
@@ -0,0 +1 @@
|
|
1
|
+
adsense is on
|
@@ -0,0 +1 @@
|
|
1
|
+
analytics is on
|
@@ -0,0 +1,16 @@
|
|
1
|
+
COOKEI_ENABLED_TRACKERS = {
|
2
|
+
required: [],
|
3
|
+
preferences: [],
|
4
|
+
statistics: [:google_analytics ],
|
5
|
+
marketing: [:google_adsense]
|
6
|
+
}
|
7
|
+
|
8
|
+
COOKEI_POLICY_URL = '/cookie-policy'
|
9
|
+
|
10
|
+
# available styles
|
11
|
+
# gray pink green blue yellow
|
12
|
+
COOKEI_STYLE = 'gray'
|
13
|
+
|
14
|
+
# availabel position
|
15
|
+
# fixed-top fixed-bottom
|
16
|
+
COOKEI_POSITION = ''
|
@@ -0,0 +1,13 @@
|
|
1
|
+
en:
|
2
|
+
cookei:
|
3
|
+
disclaimer:
|
4
|
+
labels:
|
5
|
+
required: 'Required'
|
6
|
+
preferences: 'Preferences'
|
7
|
+
statistics: 'Statistics'
|
8
|
+
marketing: 'Marketing'
|
9
|
+
text_html: <p>This site uses cookies.</p><p>We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.</p>
|
10
|
+
read_more: 'Read more in our cookie policy.'
|
11
|
+
buttons:
|
12
|
+
accept_all: 'Accept All'
|
13
|
+
accept_selected: 'Accept Selected'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
fi:
|
2
|
+
cookei:
|
3
|
+
disclaimer:
|
4
|
+
labels:
|
5
|
+
required: 'vaaditaan'
|
6
|
+
preferences: 'asetukset'
|
7
|
+
statistics: 'tilastot'
|
8
|
+
marketing: 'markkinointi'
|
9
|
+
text_html: <p>Käytämme evästeitä verkkosivullamme parantaaksemme kävijöidemme käyttökokemusta.</p><p>Käyttämällä verkkosivustoltamme hyväksyt evästeidemme käytön tietosuojakäytännön mukaisesti.</p>
|
10
|
+
read_more: 'Lue lisää'
|
11
|
+
buttons:
|
12
|
+
accept_all: 'Hyväksy kaikki'
|
13
|
+
accept_selected: 'Hyväksy valittu'
|
@@ -0,0 +1,13 @@
|
|
1
|
+
lv:
|
2
|
+
cookei:
|
3
|
+
disclaimer:
|
4
|
+
labels:
|
5
|
+
required: 'Obligātās'
|
6
|
+
preferences: 'Uzstādījumi'
|
7
|
+
statistics: 'Statistika'
|
8
|
+
marketing: 'Mārketings'
|
9
|
+
text_html: <p>Mēs izmantojam sīkdatnes.</p><p>Sīkdatnes tiek izmantotas lai personalizētu saturu un reklāmas, lai nodrošinātu sociālo mediju funkcijas un analizētu mūsu lapas apmeklējumu. Mēs dalāmies ar informāciju par to, kā izmantojat mūsu vietni, ar mūsu sociālo mediju, reklāmas un analīzes partneriem, kuri to var apvienot ar citu tiem pieejamu informāciju.</p>
|
10
|
+
read_more: 'Vairāk mūsu sīkdatņu politikā.'
|
11
|
+
buttons:
|
12
|
+
accept_all: 'Akceptēt visu'
|
13
|
+
accept_selected: 'Akceptēt atzīmētos'
|
data/config/routes.rb
ADDED
data/lib/cookei.rb
ADDED
metadata
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cookei
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Artis Raugulis
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2020-09-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: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rspec
|
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: rspec-rails
|
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: rubocop
|
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: rubocop-rspec
|
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
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sqlite3
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: A simple way to add cookie disclaimer.
|
98
|
+
email:
|
99
|
+
- artis@devart.lv
|
100
|
+
executables: []
|
101
|
+
extensions: []
|
102
|
+
extra_rdoc_files: []
|
103
|
+
files:
|
104
|
+
- README.md
|
105
|
+
- Rakefile
|
106
|
+
- app/assets/config/cookei_manifest.js
|
107
|
+
- app/assets/stylesheets/cookei.scss
|
108
|
+
- app/controllers/cookei/api/v1/cookies_controller.rb
|
109
|
+
- app/controllers/cookei/application_controller.rb
|
110
|
+
- app/helpers/cookei/application_helper.rb
|
111
|
+
- app/jobs/cookei/application_job.rb
|
112
|
+
- app/mailers/cookei/application_mailer.rb
|
113
|
+
- app/models/cookei/application_record.rb
|
114
|
+
- app/views/cookei/api/v1/cookies/_disclaimer.html.erb
|
115
|
+
- app/views/cookei/api/v1/cookies/create.js.erb
|
116
|
+
- app/views/cookei/tracking/marketing/_google_adsense.html.erb
|
117
|
+
- app/views/cookei/tracking/statistics/_google_analytics.html.erb
|
118
|
+
- app/views/layouts/cookei/application.html.erb
|
119
|
+
- config/initializers/cookei.rb
|
120
|
+
- config/locales/en.yml
|
121
|
+
- config/locales/fi.yml
|
122
|
+
- config/locales/lv.yml
|
123
|
+
- config/routes.rb
|
124
|
+
- lib/cookei.rb
|
125
|
+
- lib/cookei/engine.rb
|
126
|
+
- lib/cookei/version.rb
|
127
|
+
- lib/tasks/cookei_tasks.rake
|
128
|
+
homepage: https://devart.lv
|
129
|
+
licenses:
|
130
|
+
- license-0.0.1
|
131
|
+
metadata: {}
|
132
|
+
post_install_message:
|
133
|
+
rdoc_options: []
|
134
|
+
require_paths:
|
135
|
+
- lib
|
136
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
137
|
+
requirements:
|
138
|
+
- - ">="
|
139
|
+
- !ruby/object:Gem::Version
|
140
|
+
version: 2.7.0
|
141
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
requirements: []
|
147
|
+
rubygems_version: 3.1.2
|
148
|
+
signing_key:
|
149
|
+
specification_version: 4
|
150
|
+
summary: A simple way to add cookie disclaimer
|
151
|
+
test_files: []
|