immosquare-cookies 0.1.7 → 2.0.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
2
  SHA256:
3
- metadata.gz: fa16a8e126e3520bd40009d23cd94dc44f2d8e82b0143d60534eb7f3c3e7eed3
4
- data.tar.gz: fbfb85cede2197974faa8e0c34e20f1655f6c0f109c47e09c05d3699f95edbcd
3
+ metadata.gz: 9c71c141ffaac74579de140de61fc7fe9ec397a3ef0d1850a60d2ac5f9ea9903
4
+ data.tar.gz: 830ce69ed6edbef208c766e12e17923be628271d5834ec8b9825d9e93a7a58b7
5
5
  SHA512:
6
- metadata.gz: 531140a05767bee9e46e036b31036860433e2c4eb3c23d70c437ba4936231db353290185a6183f42681a61b48e5e06c7d65299ac4f25f1b11ca38b573c1cbda6
7
- data.tar.gz: 767f4d192677b456d416526c63d7ad511353a1fc893ac49b4eddf015176a229577581554b0137f3c7d87969480229b56db061a1d6a0c46486842612ac21337d8
6
+ metadata.gz: f36d2ff9458ccc55531298db944cda1bc437fa5f1c78a0d8d322ad012d4ed986ba555abbc8e42346ea7183b80f9dddf2c4a697d79b4fc8b6375fdcc0d219e551
7
+ data.tar.gz: 185524731e42c9ba02e7d89c898e63052dae5060bf32d6f4222d505f349850c5052f6c0d0d5cbe2705e3bceec86a28fca2fd63efac69b594d992b7a70983c17a
@@ -1,104 +1,114 @@
1
1
  #immosquare-cookies-container {
2
- --immmosquare-cookies-height: 33vh;
3
- --immosquare-cookies-color: #474747;
4
- --immosquare-cookies-bg-color: #f1f1f1f0;
5
- --immosquare-cookies-border-color: #cccccc;
6
- --immosquare-cookies-border-align: center;
2
+ --immosquare-cookies-color: #004b99;
3
+ --immosquare-cookies-bg: #f8f9fa;
4
+ --immosquare-cookies-border: #dee2e6;
5
+ --immosquare-cookies-text: #6c757d;
6
+ --immosquare-cookies-primary: #0d6efd;
7
+ --immosquare-cookies-secondary: #6c757d;
7
8
  --immosquare-cookies-btn-color: white;
8
- --immosquare-cookies-btn-bg-color: green;
9
+ }
9
10
 
10
- @keyframes immosquare-cookies-effect {
11
- 33% {
12
- transform: translateX(5px);
13
- }
11
+ .immosquare-cookies-banner {
12
+ z-index: 1050 !important;
13
+ position: fixed;
14
+ bottom: 0;
15
+ left: 0;
16
+ padding: 1.5rem;
17
+ max-width: 50%;
18
+ }
14
19
 
15
- 66% {
16
- transform: translateX(-5px);
17
- }
20
+ .immosquare-cookies-card {
21
+ background-color: var(--immosquare-cookies-bg);
22
+ border: 1px solid var(--immosquare-cookies-border);
23
+ border-radius: 0.375rem;
24
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
25
+ padding: 1.5rem;
26
+ }
18
27
 
19
- 100% {
20
- transform: translateX(0);
21
- }
22
- }
28
+ .immosquare-cookies-header {
29
+ font-weight: 600;
30
+ font-size: 1.25rem;
31
+ margin-bottom: 1rem;
32
+ color: #212529;
33
+ }
23
34
 
24
- & {
25
- position: fixed;
26
- z-index: 1000000;
27
- left: 0;
28
- bottom: 0;
29
- width: 100%;
30
- box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
31
- height: var(--immmosquare-cookies-height);
32
- min-height: 200px;
33
- color: var(--immosquare-cookies-color);
34
- background-color: var(--immosquare-cookies-bg-color);
35
- border-top: 1px solid var(--immosquare-cookies-border-color);
36
- display: flex;
37
- justify-content: center;
38
- align-items: var(--immosquare-cookies-border-align);
39
- padding: 1rem 3rem;
40
- }
35
+ .immosquare-cookies-content {
36
+ margin-bottom: 1.5rem;
37
+ }
41
38
 
42
- #immosquare-cookies-title {
43
- font-size: 1.5rem;
44
- font-weight: bold;
45
- margin-bottom: 1rem;
46
- }
47
- #immosquare-cookies-refuse {
39
+ .immosquare-cookies-text {
40
+ color: var(--immosquare-cookies-text);
41
+ font-size: 0.875rem;
42
+ line-height: 1.5rem;
43
+ }
44
+
45
+ .immosquare-cookies-link-text {
46
+ margin-right: 0.25rem;
47
+ }
48
+
49
+ .immosquare-cookies-link-separator {
50
+ margin: 0 0.25rem;
51
+ }
52
+
53
+ .immosquare-cookies-link {
54
+ color: var(--immosquare-cookies-color);
55
+ text-decoration: none;
56
+ font-weight: 700;
57
+
58
+ &:hover {
59
+ color: darken(#004b99, 10%);
48
60
  text-decoration: underline;
49
- cursor: pointer;
50
- &:hover {
51
- animation: immosquare-cookies-effect 0.5s 1;
52
- }
53
61
  }
54
- #immosquare-cookies-accept {
55
- display: inline-block;
62
+ }
63
+
64
+ .immosquare-cookies-actions {
65
+ display: flex;
66
+ gap: 0.5rem;
67
+ justify-content: flex-end;
68
+ }
69
+
70
+ .immosquare-cookies-btn {
71
+ color: var(--immosquare-cookies-btn-color);
72
+ background-color: var(--immosquare-cookies-color);
73
+ border: 1px solid var(--immosquare-cookies-color);
74
+ display: inline-block;
75
+ font-weight: 400;
76
+ line-height: 1.5;
77
+ text-align: center;
78
+ text-decoration: none;
79
+ vertical-align: middle;
80
+ cursor: pointer;
81
+ user-select: none;
82
+ padding: 0.5rem 0.75rem;
83
+ font-size: 0.875rem;
84
+ border-radius: 0.25rem;
85
+ transition:
86
+ color 0.15s ease-in-out,
87
+ background-color 0.15s ease-in-out,
88
+ border-color 0.15s ease-in-out,
89
+ box-shadow 0.15s ease-in-out;
90
+
91
+ &:hover {
92
+ background-color: darken(#004b99, 10%);
93
+ border-color: darken(#004b99, 10%);
56
94
  color: var(--immosquare-cookies-btn-color);
57
- background-color: var(--immosquare-cookies-btn-bg-color);
58
- border-radius: 2rem;
59
- cursor: pointer;
60
- padding: 20px;
61
- &:hover {
62
- animation: immosquare-cookies-effect 0.5s 1;
63
- }
64
- }
65
- #immosquare-cookies-actions {
66
- margin-top: 20px;
67
- margin-bottom: 20px;
68
- display: flex;
69
- justify-content: center;
70
- align-items: center;
71
- gap: 20px;
95
+ text-decoration: none;
72
96
  }
73
- section {
74
- text-align: center;
75
- height: 100%;
76
- width: 100%;
77
- overflow-y: auto;
78
- }
79
- @media (max-width: 575.98px) {
80
- section {
81
- max-width: none;
82
- }
83
- }
84
- @media (min-width: 576px) and (max-width: 767.98px) {
85
- section {
86
- max-width: 540px;
87
- }
88
- }
89
- @media (min-width: 768px) and (max-width: 991.98px) {
90
- section {
91
- max-width: 720px;
92
- }
97
+
98
+ &:focus {
99
+ outline: 0;
100
+ box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
93
101
  }
94
- @media (min-width: 992px) and (max-width: 1199.98px) {
95
- section {
96
- max-width: 960px;
97
- }
102
+ }
103
+
104
+ // Responsive design
105
+ @media (max-width: 768px) {
106
+ .immosquare-cookies-banner {
107
+ max-width: 100%;
108
+ padding: 1rem;
98
109
  }
99
- @media (min-width: 1200px) {
100
- section {
101
- max-width: 1140px;
102
- }
110
+
111
+ .immosquare-cookies-card {
112
+ padding: 1rem;
103
113
  }
104
114
  }
@@ -1,45 +1,92 @@
1
- <% cookie_name = defined?(key) ? key : "_immosquare_consented" %>
2
-
3
- <%# DIV %>
4
- <%= content_tag(:div, :id => "immosquare-cookies-container", :data => {:name => cookie_name}) do %>
5
- <section>
6
- <%# Title %>
7
- <%= content_tag(:div, defined?(document_name) ? document_name : t("immosquare-cookies.document_name"), :id => "immosquare-cookies-title") %>
8
-
9
- <%# Refuse/Accept %>
10
- <div id="immosquare-cookies-actions">
11
- <%= content_tag(:div, defined?(refuse) ? refuse : t("immosquare-cookies.refuse"), :id => "immosquare-cookies-refuse") %>
12
- <%= content_tag(:div, defined?(accept) ? accept : t("immosquare-cookies.accept"), :id => "immosquare-cookies-accept") %>
13
- </div>
1
+ <%
2
+ cookie_name = defined?(key) ? key : "_immosquare_consented"
3
+ duration_months = defined?(duration_months) && duration_months.to_i.between?(1, 12) ? duration_months.to_i : 6
4
+ cookies_to_remove = [] if !defined?(cookies_to_remove)
5
+ %>
6
+
7
+ <%= content_tag(:div, :id => "immosquare-cookies-container", :data => {
8
+ :name => cookie_name,
9
+ :duration_months => duration_months,
10
+ :cookies_to_remove => cookies_to_remove
11
+ }) do %>
12
+ <div class="immosquare-cookies-banner">
13
+ <div class="immosquare-cookies-card">
14
+ <%# Header %>
15
+ <%= content_tag(:div, t("immosquare-cookies.document_title", :site_name => defined?(site_name) ? site_name : request.host), :class => "immosquare-cookies-header") %>
14
16
 
15
- <%# Content %>
16
- <div>
17
- <%= content_tag(:span, (defined?(text).present? ? text : t("immosquare-cookies.text")).html_safe) %>
18
- <% if defined?(link) %>
19
- <%= content_tag(:span, defined?(link_text) ? link_text : t("immosquare-cookies.link_text"), :style => "margin-right:4px;") %>
20
- <%= link_to(defined?(document_name) ? document_name : t("immosquare-cookies.document_name"), link, :target => defined?(target) ? target : "_blank") %>
21
- <% end %>
17
+ <%# Content %>
18
+ <div class="immosquare-cookies-content">
19
+ <div class="immosquare-cookies-text">
20
+ <%= content_tag(:div, (defined?(text).present? ? text : t("immosquare-cookies.text", :duration_months => duration_months)).html_safe) %>
21
+ <% if defined?(privacy_policy_link) || defined?(cookie_policy_link) %>
22
+ <%= content_tag(:span, defined?(link_text) ? link_text : t("immosquare-cookies.link_text"), :class => "immosquare-cookies-link-text") %>
23
+ <%= link_to(defined?(privacy_policy) ? privacy_policy : t("immosquare-cookies.privacy_policy"), privacy_policy_link, :target => defined?(target) ? target : "_blank", :class => "immosquare-cookies-link") if defined?(privacy_policy_link) %>
24
+ <%= link_to(defined?(cookie_policy) ? cookie_policy : t("immosquare-cookies.cookie_policy"), cookie_policy_link, :target => defined?(target) ? target : "_blank", :class => "immosquare-cookies-link") if defined?(cookie_policy_link) %>
25
+ <% end %>
26
+ </div>
27
+ </div>
28
+
29
+ <%# Actions %>
30
+ <div class="immosquare-cookies-actions">
31
+ <%= content_tag(:button, defined?(refuse) ? refuse : t("immosquare-cookies.refuse"), :type => "button", :id => "immosquare-cookies-refuse", :class => "immosquare-cookies-btn") %>
32
+ <%= content_tag(:button, defined?(accept) ? accept : t("immosquare-cookies.accept"), :type => "button", :id => "immosquare-cookies-accept", :class => "immosquare-cookies-btn") %>
33
+ </div>
22
34
  </div>
23
- </section>
35
+ </div>
36
+
24
37
  <script>
25
- document.addEventListener("DOMContentLoaded", function() {
26
- const cookieContainer = document.getElementById("immosquare-cookies-container");
27
- const cookieName = cookieContainer.dataset.name;
28
- const handleCookieConsent = (consentGiven) => {
38
+ document.addEventListener("DOMContentLoaded", () => {
39
+ const cookieContainer = document.getElementById("immosquare-cookies-container");
40
+ const cookieName = cookieContainer.dataset.name;
41
+ const cookieDurationMonths = cookieContainer.dataset.durationMonths;
42
+ const cookiesToRemove = cookieContainer.dataset.cookiesToRemove ? JSON.parse(cookieContainer.dataset.cookiesToRemove) : [];
43
+ const cookies = document.cookie.split(";");
44
+
45
+ // Handle the cookie consent
46
+ const handleCookieConsent = (consentGiven) => {
29
47
  cookieContainer.style.display = "none";
30
- const date = new Date();
31
- date.setTime(date.getTime() + (365 * 10 * 24 * 60 * 60 * 1000));
32
- const expires = `;expires=${date.toUTCString()}`;
33
- if(!consentGiven){
34
- document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
35
- }
36
- document.cookie = `${cookieName}=${consentGiven}${expires}; path=/`;
37
- if(!consentGiven){
38
- window.location.reload();
48
+ const expiresString = new Date(Date.now() + cookieDurationMonths * 30 * 24 * 60 * 60 * 1000).toUTCString();
49
+
50
+ // Set the cookie for the consent banner
51
+ document.cookie = `${cookieName}=${consentGiven};expires=${expiresString}; path=/`;
52
+
53
+ // Disable the cookies that are not necessary if the user does not consent
54
+ if(!consentGiven && cookiesToRemove && cookiesToRemove.length > 0){
55
+ cookies.forEach(cookie => {
56
+ const cookieParts = cookie.split("=");
57
+ const currentCookieName = cookieParts[0].trim();
58
+ const currentCookieValue = cookieParts[1] ? cookieParts[1].trim() : '';
59
+
60
+ if(cookiesToRemove.includes(currentCookieName)){
61
+ // Delete the cookie by expiring it with both expires and Max-Age
62
+ const expiredDate = 'Thu, 01 Jan 1970 00:00:00 GMT';
63
+ const hostParts = window.location.hostname.split('.');
64
+
65
+ // Build domain variations to try
66
+ const domainVariations = [
67
+ '' // Current domain (no domain attribute)
68
+ ];
69
+
70
+ if (hostParts.length >= 2) {
71
+ domainVariations.push('.' + hostParts.slice(-2).join('.')); // .example.com
72
+ }
73
+
74
+ if (hostParts.length >= 3) {
75
+ domainVariations.push('.' + hostParts.slice(-3).join('.')); // .example.co.uk
76
+ }
77
+
78
+ // Try to delete cookie with each domain variation
79
+ domainVariations.forEach(domain => {
80
+ const domainAttr = domain ? `; domain=${domain}` : '';
81
+ document.cookie = `${currentCookieName}=; expires=${expiredDate}; Max-Age=0; path=/${domainAttr}`;
82
+ });
83
+ }
84
+ })
39
85
  }
40
- };
41
- document.getElementById("immosquare-cookies-refuse").addEventListener("click", function() { handleCookieConsent(false); });
42
- document.getElementById("immosquare-cookies-accept").addEventListener("click", function() { handleCookieConsent(true); });
86
+ };
87
+
88
+ document.getElementById("immosquare-cookies-refuse").addEventListener("click", function() { handleCookieConsent(false); });
89
+ document.getElementById("immosquare-cookies-accept").addEventListener("click", function() { handleCookieConsent(true); });
43
90
  });
44
91
  </script>
45
92
  <% end if cookies && cookies[cookie_name].blank? %>
@@ -1,7 +1,10 @@
1
- en:
1
+ n:
2
2
  immosquare-cookies:
3
3
  accept: Accept
4
+ cookie_policy: Cookie Policy.
4
5
  document_name: Privacy Policy.
6
+ document_title: About cookies on %{site_name}
5
7
  link_text: "More information:"
8
+ privacy_policy: Privacy Policy.
6
9
  refuse: Decline
7
- text: With your consent, we and our partners use cookies or similar technologies to store, access and process personal data such as your visits to this website, IP addresses and cookie identifiers. You can revoke your consent at any time.<br>Together with our partners, we process the following data:<br>Precise geolocation data and identification through device analysis, audience data and product development, Store and/or access to information on a terminal.
10
+ text: Welcome! This site uses cookies to measure site traffic in order to improve its operation and administration and, with your consent, to evaluate performance and improve your user experience. We keep your choice for %{duration_months} months.
@@ -1,7 +1,10 @@
1
1
  es:
2
2
  immosquare-cookies:
3
3
  accept: Aceptar
4
+ cookie_policy: Política de cookies.
4
5
  document_name: Política de privacidad.
6
+ document_title: Sobre cookies en %{site_name}
5
7
  link_text: "Más información:"
8
+ privacy_policy: Política de privacidad.
6
9
  refuse: Rechazar
7
- text: Con su consentimiento, nosotros y nuestros socios utilizamos cookies o tecnologías similares para almacenar, acceder y procesar datos personales como sus visitas a este sitio web, direcciones IP e identificadores de cookies. Puede revocar su consentimiento en cualquier momento.<br>Junto con nuestros socios, procesamos los siguientes datos:<br>Datos de geolocalización precisos e identificación a través del análisis de dispositivos, datos de audiencia y desarrollo de productos, Almacenar y/o acceder a información en un Terminal.
10
+ text: ¡Bienvenido! Este sitio utiliza cookies para medir el tráfico del sitio con el fin de mejorar su funcionamiento y administración y, con su consentimiento, para evaluar el rendimiento y mejorar su experiencia de usuario. Conservamos su elección durante %{duration_months} meses.
@@ -1,7 +1,10 @@
1
1
  fr:
2
2
  immosquare-cookies:
3
3
  accept: Accepter
4
+ cookie_policy: Politique des cookies.
4
5
  document_name: Politique de confidentialité.
5
- link_text: "Plus d'informations :"
6
+ document_title: À propos des cookies sur %{site_name}
7
+ link_text: "Pour en savoir plus :"
8
+ privacy_policy: Politique de confidentialité.
6
9
  refuse: Refuser
7
- text: Avec votre consentement, nous et nos partenaires utilisons les cookies ou des technologies similaires pour stocker, accéder à et traiter des données personnelles telles que vos visites à ce site Web, les adresses IP et les identifiants des cookies. Vous pouvez révoquer votre consentement à tout moment.<br>Avec nos partenaires, nous traitons les données suivantes :<br>Données de géolocalisation précises et identification par analyse du terminal, données d'audience et développement de produit, Stocker et/ou accéder à des informations sur un terminal.
10
+ text: Bienvenue ! Ce site utilise des cookies pour mesurer la fréquentation du site afin d'en améliorer le fonctionnement et l'administration et, avec votre accord, pour évaluer la performance et améliorer votre expérience utilisateur. Nous conservons votre choix pendant %{duration_months} mois.
@@ -1,7 +1,10 @@
1
1
  it:
2
2
  immosquare-cookies:
3
3
  accept: Accetta
4
+ cookie_policy: Politica dei cookie.
4
5
  document_name: Politica sulla privacy.
6
+ document_title: Informazioni sui cookie su %{site_name}
5
7
  link_text: "Maggiori informazioni:"
8
+ privacy_policy: Politica sulla privacy.
6
9
  refuse: Rifiuta
7
- text: Con il tuo consenso, noi e i nostri partner utilizziamo cookie o tecnologie simili per archiviare, accedere ed elaborare dati personali come le tue visite a questo sito Web, indirizzi IP e identificatori di cookie. Puoi revocare il tuo consenso in qualsiasi momento.<br>Insieme ai nostri partner trattiamo i seguenti dati:<br>Dati precisi di geolocalizzazione e identificazione tramite analisi del dispositivo, dati sull'audience e sviluppo del prodotto, Negozio e/o accesso a informazioni su un terminale.
10
+ text: Benvenuto! Questo sito utilizza i cookie per misurare il traffico del sito al fine di migliorarne il funzionamento e l'amministrazione e, con il tuo consenso, per valutare le prestazioni e migliorare la tua esperienza utente. Conserviamo la tua scelta per %{duration_months} mesi.
@@ -1,7 +1,9 @@
1
1
  nl:
2
2
  immosquare-cookies:
3
3
  accept: Accepteren
4
+ cookie_policy: Cookiebeleid.
4
5
  document_name: Privacybeleid.
6
+ document_title: Over cookies op %{site_name}
5
7
  link_text: "Meer informatie:"
6
8
  refuse: Weigeren
7
- text: Met uw toestemming gebruiken wij en onze partners cookies of soortgelijke technologieën om persoonlijke gegevens zoals uw bezoeken aan deze website, IP-adressen en cookie-identificatoren op te slaan, te openen en te verwerken. U kunt uw toestemming op elk gewenst moment intrekken.<br>Samen met onze partners verwerken wij de volgende gegevens:<br>Precieze geolocatiegegevens en identificatie door middel van apparaatanalyse, doelgroepgegevens en productontwikkeling, Winkel en/of toegang tot informatie op een terminal.
9
+ text: Welkom! Deze site gebruikt cookies om het siteverkeer te meten om de werking en het beheer ervan te verbeteren en, met uw toestemming, om de prestaties te evalueren en uw gebruikerservaring te verbeteren. We bewaren uw keuze gedurende %{duration_months} maanden.
@@ -1,7 +1,9 @@
1
1
  zh-TW:
2
2
  immosquare-cookies:
3
3
  accept: 同意
4
+ cookie_policy: Cookie 政策
4
5
  document_name: 隱私權政策
6
+ document_title: 關於 %{site_name} 的 Cookie
5
7
  link_text: 更多資訊:
6
8
  refuse: 拒絕
7
- text: 經您同意後,本網站與合作夥伴將使用 Cookie 或類似技術來儲存、存取及處理個人資料,包含您瀏覽本網站的紀錄、IP 位址及 Cookie 識別碼。您可隨時撤銷此同意。<br>本網站與合作夥伴共同處理以下資料:<br>精確地理位置資料與裝置分析識別、受眾資料與產品開發,以及在終端裝置上存取或儲存資訊。
9
+ text: 歡迎!本網站使用 Cookie 來測量網站流量,以改善其營運和管理,並在您同意的情況下,評估效能並改善您的使用者體驗。我們將您的選擇保存 %{duration_months} 個月。
@@ -1,7 +1,9 @@
1
1
  zh:
2
2
  immosquare-cookies:
3
3
  accept: 接受
4
+ cookie_policy: Cookie 政策
4
5
  document_name: 隐私政策。
6
+ document_title: 關於 %{site_name} 的 Cookie
5
7
  link_text: 更多信息:
6
8
  refuse: 拒绝
7
- text: 经您同意,我们和我们的合作伙伴使用 cookie 或类似技术来存储、访问和处理个人数据 例如您对本网站的访问、IP 地址和 cookie 标识符。 您可以随时撤销您的同意。<br>与我们的合作伙伴一起,我们处理以下数据:<br>通过设备分析、受众数据和产品开发进行精确的地理位置数据和识别,存储和/或访问有关信息的信息终端。
9
+ text: 欢迎!本网站使用 cookie 来测量网站流量,以改善其运营和管理,并在您同意的情况下,评估性能并改善您的用户体验。我们将您的选择保存 %{duration_months} 个月。
@@ -1,3 +1,3 @@
1
1
  module ImmosquareCookies
2
- VERSION = "0.1.7".freeze
2
+ VERSION = "2.0.0".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: immosquare-cookies
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - immosquare
@@ -9,7 +9,7 @@ bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies: []
12
- description: Immosquare Cookies Consent Banner allows Rails developers to effortlessly
12
+ description: immosquare Cookies Consent Banner allows Rails developers to effortlessly
13
13
  integrate a GDPR-compliant cookie consent prompt into their web applications. With
14
14
  built-in internationalization support and options to customize the banner's appearance
15
15
  and text, it offers a flexible and user-friendly solution for obtaining user consent.
@@ -49,7 +49,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
49
49
  - !ruby/object:Gem::Version
50
50
  version: '0'
51
51
  requirements: []
52
- rubygems_version: 3.6.9
52
+ rubygems_version: 3.7.1
53
53
  specification_version: 4
54
54
  summary: A customizable cookie consent banner for Rails applications.
55
55
  test_files: []