decidim-comments 0.27.4 → 0.27.6

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: 98316c17e51a4805c01a6e83a9e1a2ad76a5859b0013e9b78c569c49644da50c
4
- data.tar.gz: 05ed7977b512e18df994f8b4a88665ed0889debfacb57f991486bc78b4962f44
3
+ metadata.gz: 818d04b7eefe94a674bd210a31011829ba09e6df1059695a345a2046b4147d70
4
+ data.tar.gz: 5de4aa55452b6912385a483e92295bcc0a713141485b43a9d97c6bac51a22065
5
5
  SHA512:
6
- metadata.gz: 5af106aa754874a212337f353d8bdddde35e09f6894dd678cb85353de237e1cf681e9914b189fdddf1c8f7e8e4dd86fb7301879426641cc1b09de0aaa6d7f660
7
- data.tar.gz: 828e037c123045bfa0bed0e39a65891a0f67eb39f712d03a74d11f512d533721b4fbf63c49d7b76e5686951c90c8cc241e58aca0e23a50b0958e519d0bb5117a
6
+ metadata.gz: 867ee377607aad693860a83d7a92d4fc3147e43ffbbcdf5c7c5c49d7ba53d65b9d4614d9ecbec287cde1d05c9aea577a707238745b0aa65327874625d9a2a91a
7
+ data.tar.gz: 5718f8b9a21de23c12d0727a633859d2a6daf4a76a727115b9bae2f20f73a3de52fd417a6c348ec4f6eeff7611b2abba41c9a18152130e0d94034a8c6b4023bc
@@ -47,6 +47,8 @@ module Decidim
47
47
  hash.push(model.must_render_translation?(current_organization) ? 1 : 0)
48
48
  hash.push(model.authored_by?(current_user) ? 1 : 0)
49
49
  hash.push(model.reported_by?(current_user) ? 1 : 0)
50
+ hash.push(model.up_votes_count)
51
+ hash.push(model.down_votes_count)
50
52
  hash.push(model.cache_key_with_version)
51
53
  hash.push(model.author.cache_key_with_version)
52
54
  @hash = hash.join(Decidim.cache_key_separator)
@@ -146,11 +148,11 @@ module Decidim
146
148
  end
147
149
 
148
150
  def up_votes_count
149
- model.up_votes.count
151
+ model.up_votes_count
150
152
  end
151
153
 
152
154
  def down_votes_count
153
- model.down_votes.count
155
+ model.down_votes_count
154
156
  end
155
157
 
156
158
  def root_depth
@@ -166,11 +168,11 @@ module Decidim
166
168
  end
167
169
 
168
170
  def voted_up?
169
- model.up_voted_by?(current_user)
171
+ @up_voted ||= model.up_voted_by?(current_user)
170
172
  end
171
173
 
172
174
  def voted_down?
173
- model.down_voted_by?(current_user)
175
+ @down_voted ||= model.down_voted_by?(current_user)
174
176
  end
175
177
 
176
178
  def nested?
@@ -84,13 +84,13 @@ module Decidim
84
84
  def component_comments_max_length
85
85
  return unless model.component&.settings.respond_to?(:comments_max_length)
86
86
 
87
- model.component.settings.comments_max_length if model.component.settings.comments_max_length.positive?
87
+ model.component.settings.comments_max_length if model.component.settings.comments_max_length.to_i.positive?
88
88
  end
89
89
 
90
90
  def organization_comments_max_length
91
91
  return unless organization
92
92
 
93
- organization.comments_max_length if organization.comments_max_length.positive?
93
+ organization.comments_max_length if organization.comments_max_length.to_i.positive?
94
94
  end
95
95
 
96
96
  def organization
@@ -29,6 +29,7 @@ module Decidim
29
29
  translatable_fields :body
30
30
 
31
31
  parent_item_foreign_key :decidim_commentable_id
32
+ parent_item_polymorphic_type_key :decidim_commentable_type
32
33
 
33
34
  belongs_to :commentable, foreign_key: "decidim_commentable_id", foreign_type: "decidim_commentable_type", polymorphic: true
34
35
  belongs_to :root_commentable, foreign_key: "decidim_root_commentable_id", foreign_type: "decidim_root_commentable_type", polymorphic: true, touch: true
@@ -121,14 +122,14 @@ module Decidim
121
122
  #
122
123
  # Returns a bool value to indicate if the condition is truthy or not
123
124
  def up_voted_by?(user)
124
- up_votes.any? { |vote| vote.author == user }
125
+ up_votes.exists?(author: user)
125
126
  end
126
127
 
127
128
  # Public: Check if the user has downvoted the comment
128
129
  #
129
130
  # Returns a bool value to indicate if the condition is truthy or not
130
131
  def down_voted_by?(user)
131
- down_votes.any? { |vote| vote.author == user }
132
+ down_votes.exists?(author: user)
132
133
  end
133
134
 
134
135
  # Public: Overrides the `reported_content_url` Reportable concern method.
@@ -14,12 +14,22 @@ module Decidim
14
14
  validates :weight, inclusion: { in: [-1, 1] }
15
15
  validate :author_and_comment_same_organization
16
16
 
17
+ after_create :update_comment_votes_count
18
+ after_destroy :update_comment_votes_count
19
+
17
20
  def self.export_serializer
18
21
  Decidim::Comments::CommentVoteSerializer
19
22
  end
20
23
 
21
24
  private
22
25
 
26
+ def update_comment_votes_count
27
+ up_votes_count = self.class.where(decidim_comment_id: comment.id, weight: 1).count
28
+ down_votes_count = self.class.where(decidim_comment_id: comment.id, weight: -1).count
29
+
30
+ comment.update(up_votes_count: up_votes_count, down_votes_count: down_votes_count)
31
+ end
32
+
23
33
  # Private: check if the comment and the author have the same organization
24
34
  def author_and_comment_same_organization
25
35
  return unless author.present? && comment.present?
@@ -5,3 +5,26 @@ bg:
5
5
  decidim/comments/comment_by_followed_user_event: Коментар
6
6
  decidim/comments/comment_created_event: Коментар
7
7
  decidim/comments/reply_created_event: Отговор на коментар
8
+ decidim:
9
+ comments:
10
+ comments:
11
+ delete:
12
+ error: Коментарът не можа да бъде изтрит.
13
+ comments_count: Брой коментари
14
+ last_activity:
15
+ new_comment_at_html: "<span>Нов коментар на %{link}</span>"
16
+ view: Преглед
17
+ components:
18
+ add_comment_form:
19
+ account_message: <a href="%{sign_in_url}">Влезте с Вашия профил</a> или <a href="%{sign_up_url}">се регистрирайте</a>, за да добавите коментара си.
20
+ form:
21
+ form_error: Текстът е задължителен и не може да е по-дълъг от %{length} символа.
22
+ comment:
23
+ report:
24
+ reasons:
25
+ does_not_belong: Съдържа незаконни дейности, заплахи за самоубийство, лична информация или нещо друго, което считате, че е неподходящо за %{organization_name}.
26
+ comment_thread:
27
+ title: Разговор с %{authorName}
28
+ errors:
29
+ messages:
30
+ cannot_have_comments: не може да има коментари
@@ -125,27 +125,27 @@ ca:
125
125
  comments:
126
126
  comment_by_followed_user:
127
127
  email_intro: "%{author_name} ha deixat un comentari a %{resource_title}. Podeu llegir-lo en aquesta pàgina:"
128
- email_outro: Has rebut aquesta notificació perquè estàs seguint %{author_name}. Pots deixar de seguir a aquesta participant des de la seva pàgina de perfil.
128
+ email_outro: Has rebut aquesta notificació perquè estàs seguint el comentari "%{author_name}". Pots deixar de seguir a aquesta participant des de la seva pàgina de perfil.
129
129
  email_subject: Hi ha un nou comentari de %{author_name} en %{resource_title}
130
130
  notification_title: Hi ha un nou comentari per <a href="%{author_path}">%{author_name} %{author_nickname}</a> a <a href="%{resource_path}">%{resource_title}</a>.
131
131
  comment_by_followed_user_group:
132
132
  email_intro: '%{author_name} ha deixat un comentari a%{resource_title}. Pots llegir-lo en aquesta pàgina:'
133
- email_outro: Reps aquesta notificació perquè segueixes a %{author_name}. Pots deixar de seguir aquest grup des de la seva pàgina de perfil.
133
+ email_outro: Reps aquesta notificació perquè segueixes a "%{author_name}". Pots deixar de seguir aquest grup des de la seva pàgina de perfil.
134
134
  email_subject: Hi ha un nou comentari de %{author_name} en %{resource_title}
135
135
  notification_title: Hi ha un nou comentari per <a href="%{author_path}">%{author_name} %{author_nickname}</a> a <a href="%{resource_path}">%{resource_title}</a>.
136
136
  comment_created:
137
137
  email_intro: "S'ha comentat %{resource_title}. Pots llegir el comentari d'aquesta pàgina:"
138
- email_outro: Has rebut aquesta notificació perquè estàs seguint "%{resource_title}" o la seva autora. Pots deixar de seguir-la des de l'enllaç anterior.
138
+ email_outro: Has rebut aquesta notificació perquè estàs seguint el comentari "%{resource_title}" o la seva autora. Pots deixar de seguir-la des de l'enllaç anterior.
139
139
  email_subject: Hi ha un nou comentari de %{author_name} a %{resource_title}
140
140
  notification_title: Hi ha un nou comentari de <a href="%{author_path}">%{author_name} %{author_nickname}</a> en <a href="%{resource_path}">%{resource_title}</a>
141
141
  comment_downvoted:
142
142
  email_intro: El teu comentari a "%{resource_title}" ha rebut un vot negatiu. Ara té un total de %{upvotes} vots positius i %{downvotes} vots negatius.
143
- email_outro: Has rebut aquesta notificació perquè ets autora d'aquest comentari.
143
+ email_outro: Has rebut aquesta notificació perquè vas fer aquest comentari.
144
144
  email_subject: El teu comentari a "%{resource_title}" ha rebut un vot negatiu.
145
145
  notification_title: El teu <a href="%{resource_path}">comentari</a> a "%{resource_title}" ha rebut un vot negatiu. Ara té un total de %{upvotes} vots positius i %{downvotes} vots negatius.
146
146
  comment_upvoted:
147
147
  email_intro: El teu comentari a "%{resource_title}" ha rebut un vot positiu. Ara té un total de %{upvotes} vots positius i %{downvotes} vots negatius.
148
- email_outro: Has rebut aquesta notificació perquè ets autora d'aquest comentari.
148
+ email_outro: Has rebut aquesta notificació perquè vas fer aquest comentari.
149
149
  email_subject: El teu comentari a "%{resource_title}" ha rebut un vot positiu.
150
150
  notification_title: El teu <a href="%{resource_path}">comentari</a> a "%{resource_title}" ha rebut un vot positiu. Ara té un total de %{upvotes} vots positius i %{downvotes} vots negatius.
151
151
  reply_created:
@@ -155,12 +155,12 @@ ca:
155
155
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> ha respost el teu comentari a <a href="%{resource_path}">%{resource_title}</a>
156
156
  user_group_mentioned:
157
157
  email_intro: Un grup al qual pertanys ha estat esmentat
158
- email_outro: Has rebut aquesta notificació perquè formes part del grup %{group_name} que ha estat esmentat a %{resource_title}.
158
+ email_outro: Has rebut aquesta notificació perquè formes part del grup "%{group_name}" que ha estat esmentat a %{resource_title}.
159
159
  email_subject: T'han esmentat a %{resource_title} com a membre de %{group_name}
160
160
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> t'ha esmentat com a membre de <a href="%{group_path}">%{group_name} %{group_nickname}</a> a <a href="%{resource_path}">%{resource_title}</a>
161
161
  user_mentioned:
162
162
  email_intro: Has estat esmentada
163
- email_outro: Has rebut aquesta notificació perquè has estat esmentada a %{resource_title}.
163
+ email_outro: Has rebut aquesta notificació perquè t'han esmentat al comentari "%{resource_title}".
164
164
  email_subject: Has estat esmentada a %{resource_title}
165
165
  notification_title: Has estat esmentada a <a href="%{resource_path}">%{resource_title}</a> per <a href="%{author_path}">%{author_name} %{author_nickname}</a>
166
166
  metrics:
@@ -65,7 +65,7 @@ de:
65
65
  alignment:
66
66
  against: Gegen
67
67
  in_favor: Zugunsten
68
- confirm_destroy: Bist du sicher, dass du diesen Kommentar löschen willst?
68
+ confirm_destroy: Sind Sie sich sicher, dass Sie diesen Kommentar löschen möchten?
69
69
  delete: Löschen
70
70
  deleted_at: Kommentar gelöscht am %{date}
71
71
  deleted_user: Gelöschter Benutzer
@@ -125,7 +125,7 @@ es:
125
125
  comments:
126
126
  comment_by_followed_user:
127
127
  email_intro: "%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:"
128
- email_outro: Has recibido esta notificación porque sigues "%{author_name}". Puedes dejar de seguir a esta participante desde su página de perfil.
128
+ email_outro: Has recibido esta notificación porque sigues a "%{author_name}". Puedes dejar de seguir a esta participante desde su página de perfil.
129
129
  email_subject: Hay un nuevo comentario de %{author_name} en %{resource_title}
130
130
  notification_title: Hay un nuevo comentario de <a href="%{author_path}">%{author_name} %{author_nickname}</a> en <a href="%{resource_path}">%{resource_title}</a>.
131
131
  comment_by_followed_user_group:
@@ -135,32 +135,32 @@ es:
135
135
  notification_title: Hay un nuevo comentario de <a href="%{author_path}">%{author_name} %{author_nickname}</a> en <a href="%{resource_path}">%{resource_title}</a>.
136
136
  comment_created:
137
137
  email_intro: "%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:"
138
- email_outro: Has recibido esta notificación porque está siguiendo "%{resource_title}" o su autora. Puedes dejar de seguirla desde el enlace anterior.
138
+ email_outro: Has recibido esta notificación porque estás siguiendo el comentario "%{resource_title}" o a su autora. Puedes dejar de seguirla desde el enlace anterior.
139
139
  email_subject: Hay un nuevo comentario de %{author_name} en %{resource_title}
140
140
  notification_title: Hay un nuevo comentario de <a href="%{author_path}">%{author_name} %{author_nickname}</a> en <a href="%{resource_path}">%{resource_title}</a>
141
141
  comment_downvoted:
142
142
  email_intro: Tu comentario en "%{resource_title}" ha sido votado negativamente. Ahora tiene un total de %{upvotes} votos positivos y %{downvotes} votos negativos.
143
- email_outro: Has recibido esta notificación porque eres la autora de este comentario.
143
+ email_outro: Has recibido esta notificación porque hiciste este comentario.
144
144
  email_subject: Su comentario en "%{resource_title}" ha sido votado negativamente.
145
145
  notification_title: Tu <a href="%{resource_path}">comentario</a> en "%{resource_title}" ha sido votado negativamente. Ahora tiene un total de %{upvotes} votos positivos y %{downvotes} votos negativos.
146
146
  comment_upvoted:
147
147
  email_intro: Tu comentario en "%{resource_title}" ha sido votado postivamente. Ahora tiene un total de %{upvotes} votos positivos y %{downvotes} votos negativos.
148
- email_outro: Has recibido esta notificación porque eres la autora de este comentario.
148
+ email_outro: Has recibido esta notificación porque hiciste este comentario.
149
149
  email_subject: Tu comentario en "%{resource_title}" ha sido votado positivamente.
150
150
  notification_title: Tu <a href="%{resource_path}">comentario</a> en "%{resource_title}" ha sido votado positivamente. Ahora tiene un total de %{upvotes} votos positivos y %{downvotes} votos negativos.
151
151
  reply_created:
152
152
  email_intro: "%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:"
153
- email_outro: Has recibido esta notificación porque tu comentario fue respondido.
153
+ email_outro: Has recibido esta notificación porque han respondido a tu comentario.
154
154
  email_subject: "%{author_name} ha respondido a tu comentario en %{resource_title}"
155
155
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> ha respondido a tu comentario en <a href="%{resource_path}">%{resource_title}</a>
156
156
  user_group_mentioned:
157
157
  email_intro: Se ha mencionado un grupo al que perteneces
158
- email_outro: Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.
158
+ email_outro: Has recibido esta notificación porque formas parte del grupo "%{group_name}" que ha sido mencionado en "%{resource_title}".
159
159
  email_subject: Te han mencionado en %{resource_title} como miembro de %{group_name}
160
160
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> te ha mencionado en <a href="%{resource_path}">%{resource_title}</a> como miembro de <a href="%{group_path}">%{group_name} %{group_nickname}</a>
161
161
  user_mentioned:
162
162
  email_intro: Has sido mencionada
163
- email_outro: Has recibido esta notificación porque has sido mencionada en %{resource_title}.
163
+ email_outro: Has recibido esta notificación porque te han mencionado en el comentario "%{resource_title}".
164
164
  email_subject: Has sido mencionada en %{resource_title}
165
165
  notification_title: Has sido mencionada en <a href="%{resource_path}">%{resource_title}</a> por <a href="%{author_path}">%{author_name} %{author_nickname}</a>
166
166
  metrics:
@@ -4,7 +4,7 @@ eu:
4
4
  models:
5
5
  decidim/comments/comment_by_followed_user_event: Iruzkina
6
6
  decidim/comments/comment_created_event: Iruzkina
7
- decidim/comments/comment_upvoted_event: Iruzkina bozkatu da
7
+ decidim/comments/comment_upvoted_event: Iruzkina positiboki baloratua
8
8
  decidim/comments/reply_created_event: Iruzkinaren erantzuna
9
9
  decidim/comments/user_group_mentioned_event: Aipamena
10
10
  decidim/comments/user_mentioned_event: Aipamena
@@ -26,19 +26,19 @@ eu:
26
26
  start_time: Iruzkinak noiztik aktibatuta
27
27
  comments:
28
28
  create:
29
- error: Arazoa gertatu da iruzkina sortzean.
29
+ error: Arazo bat egon da iruzkina sortzean.
30
30
  delete:
31
31
  error: Iruzkina ezin izan da ezabatu.
32
32
  update:
33
- error: Arazoa gertatu da iruzkina eguneratzean.
33
+ error: Arazo bat ego da iruzkina eguneratzean.
34
34
  comments_count: Iruzkin kopurua
35
- comments_title: Oharrak
35
+ comments_title: Iruzkinak
36
36
  last_activity:
37
- new_comment_at_html: "<span>Iruzkin berria %{link}</span>"
37
+ new_comment_at_html: "<span>Beste iruzkin bat hemen: %{link}</span>"
38
38
  view: Bistaratu
39
39
  votes:
40
40
  create:
41
- error: Arazo bat dago iruzkina bozkatzeko.
41
+ error: Arazo bat egon da iruzkina bozkatzean.
42
42
  components:
43
43
  add_comment_form:
44
44
  account_message: <a href="%{sign_in_url}">Hasi saioa zure kontuarekin</a> o <a href="%{sign_up_url}">erregistratu</a> zure iruzkina txertatzeko.
@@ -60,7 +60,7 @@ eu:
60
60
  positive_selected: Zure iritzia gai honi buruz positiboa da
61
61
  remaining_characters: "%{count} karaktere geratzen dira"
62
62
  remaining_characters_1: "karaktere %{count} geratzen da"
63
- title: Egin hemen zure iruzkina
63
+ title: Gehitu zure iruzkina
64
64
  comment:
65
65
  alignment:
66
66
  against: Aurka
@@ -68,7 +68,7 @@ eu:
68
68
  confirm_destroy: Ziur zaude iruzkin hau ezabatu nahi duzula?
69
69
  delete: Ezabatu
70
70
  deleted_at: Iruzkina ezabatu da data honetan %{date}
71
- deleted_user: Parte hartzaile ezabatua
71
+ deleted_user: Parte-hartzailea ezabatua
72
72
  edit: Editatu
73
73
  edited: Editatuta
74
74
  hide_replies: Ezkutatu erantzunak
@@ -91,7 +91,7 @@ eu:
91
91
  single_comment_link_title: Lortu esteka
92
92
  comment_order_selector:
93
93
  order:
94
- best_rated: Balorazio hoberenak
94
+ best_rated: Balorazio onenak
95
95
  most_discussed: Eztabaidatuenak
96
96
  older: Zaharrenak
97
97
  recent: Berrienak
@@ -126,18 +126,18 @@ eu:
126
126
  comment_by_followed_user:
127
127
  email_intro: "%{author_name} egileak iruzkin bat utzi du %{resource_title} helbidean. Orri honetan irakur dezakezu:"
128
128
  email_outro: Jakinarazpen hau jaso duzu %{author_name} erabiltzailea jarraitzen duzulako. Nahi izatekotan erabiltzaile hori bere profil-orritik jarraitzeari utz diezaiokezu.
129
- email_subject: '%{author_name} %{resource_title} iruzkin berri bat dago'
130
- notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a>-en iruzkin berri bat dagon <a href="%{resource_path}">%{resource_title}</a>-an.
129
+ email_subject: '%{author_name} k beste iruzkin bat egin du hemen: %{resource_title}'
130
+ notification_title: '<a href="%{author_path}">%{author_name} %{author_nickname}</a> k iruzkin berri bat egin du hemen: <a href="%{resource_path}">%{resource_title}</a>-an.'
131
131
  comment_by_followed_user_group:
132
132
  email_intro: '%{author_name} k iruzkin bat utzi du hemen %{resource_title}. Orrialde honetan irakur dezakezu:'
133
133
  email_outro: Jakinarazpena jaso duzu "%{author_name}" jarraitzen ari zarelako. Jarraitzeari utzi ahal diozu bere perfileko orrialdetik.
134
- email_subject: '%{author_name} egileak iruzkin berri bat utzi du %{resource_title}-an'
135
- notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a>egileak iruzkin berri bat utzi du <a href="%{resource_path}">%{resource_title}</a>-an.
134
+ email_subject: '%{author_name} egileak iruzkin berri bat utzi du hemen: %{resource_title}'
135
+ notification_title: '<a href="%{author_path}">%{author_name} %{author_nickname}</a>egileak iruzkin berri bat utzi du hemen: <a href="%{resource_path}">%{resource_title}</a>-an.'
136
136
  comment_created:
137
- email_intro: "%{resource_title} iruzkindu da. Orri honetan iruzkina irakur dezakezu:"
137
+ email_intro: "%{resource_title} iruzkindu da. Orri honetan irakur dezakezu iruzkina:"
138
138
  email_outro: Jakinarazpen hau jaso duzu "%{resource_title}" edo bere egilea jarraitzen duzulako. Aurreko estekan jarrai dezakezu.
139
- email_subject: '%{author_name} ren %{resource_title} iruzkin berri bat dago'
140
- notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> <a href="%{resource_path}">%{resource_title}</a> </a> iruzkin berri bat dago
139
+ email_subject: '%{author_name} k beste iruzkin berri bat egin du hemen: %{resource_title}'
140
+ notification_title: '<a href="%{author_path}">%{author_name} %{author_nickname}</a> k iruzkin berri bat egin du hemen: <a href="%{resource_path}">%{resource_title}</a></a>'
141
141
  comment_downvoted:
142
142
  email_intro: Zure iruzkina hemen "%{resource_title}" negatiboki bozkatu da. Orain %{upvotes} boto positibo eta %{downvotes} boto negatibo dituzu guztira.
143
143
  email_outro: Jakinarazpen hau jaso duzu iruzkin honen egilea zarelako.
@@ -149,9 +149,9 @@ eu:
149
149
  email_subject: Zure iruzkina hemen "%{resource_title}" positiboki bozkatu da.
150
150
  notification_title: Zure <a href="%{resource_path}">iruzkina </a> "%{resource_title}"-an positiboki bozkatu da. Orain guztira %{upvotes} botos positibo eta %{downvotes} boto negatibo dituzu.
151
151
  reply_created:
152
- email_intro: "%{author_name} zure iruzkina erantzun du %{resource_title}zenbakian. Orri honetan irakur dezakezu:"
152
+ email_intro: "%{author_name} k zure iruzkina erantzun du hemen: %{resource_title}. Orri honetan irakur dezakezu:"
153
153
  email_outro: Jakinarazpen hau jaso duzu zure iruzkina erantzun delako.
154
- email_subject: "%{author_name}-k zure iruzkina erantzun du %{resource_title} zenbakian"
154
+ email_subject: "%{author_name}-k zure iruzkina erantzun du hemen: %{resource_title}"
155
155
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> -k zure iruzkinari erantzun dio <a href="%{resource_path}">%{resource_title}</a>
156
156
  user_group_mentioned:
157
157
  email_intro: Zure talde bat aipatu dute
@@ -160,14 +160,14 @@ eu:
160
160
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> k aipatu zaitu hemen <a href="%{resource_path}">%{resource_title}</a> <a href="%{group_path}">%{group_name} %{group_nickname}</a> taldearen kide gisa
161
161
  user_mentioned:
162
162
  email_intro: Aipatu zaituzte
163
- email_outro: Jakinarazpena jaso duzu %{resource_title} delakoan aipatu zaituztelako.
164
- email_subject: '%{resource_title} delakoan aipatu zaituzte'
165
- notification_title: <a href="%{resource_path}">%{resource_title}</a> <a href="%{author_path}">%{author_name} %{author_nickname}</a> bidez aipatu zaituzte.
163
+ email_outro: 'Jakinarazpen hau jaso duzu hemen: %{resource_title} aipatu zaituztelako.'
164
+ email_subject: 'Hemen: %{resource_title} aipatu zaituzte'
165
+ notification_title: 'Hemen: <a href="%{group_path}">%{group_name} %{group_nickname}</a> egile honek: <a href="%{author_path}">%{author_name} %{author_nickname}</a> aipatu zaitu'
166
166
  metrics:
167
167
  comments:
168
168
  description: Erabiltzaileek sortutako iruzkin kopurua
169
169
  object: iruzkinak
170
- title: Oharrak
170
+ title: Iruzkinak
171
171
  errors:
172
172
  messages:
173
173
  cannot_have_comments: ezin zaio iruzkinik egin
@@ -0,0 +1 @@
1
+ he:
@@ -27,6 +27,8 @@ hu:
27
27
  comments:
28
28
  create:
29
29
  error: Hiba történt a hozzászólás létrehozása során.
30
+ delete:
31
+ error: A hozzászólás nem törölhető.
30
32
  update:
31
33
  error: Hiba történt a hozzászólás frissítése során.
32
34
  comments_count: Hozzászólások száma
@@ -45,7 +47,7 @@ hu:
45
47
  label: Megjegyzés
46
48
  placeholder: Mit gondolsz erről?
47
49
  form_error: Kötelező kitölteni, és nem lehet hosszabb, mint %{length} karakter.
48
- submit: Elküld
50
+ submit: Küldés
49
51
  user_group_id:
50
52
  label: 'Megjegyzés mint:'
51
53
  opinion:
@@ -88,10 +88,10 @@ ja:
88
88
  single_comment_link_title: リンク取得
89
89
  comment_order_selector:
90
90
  order:
91
- best_rated: 最高評価
92
- most_discussed: 最も議論されたもの
91
+ best_rated: 評価の高い順
92
+ most_discussed: 議論数の多い順
93
93
  older: 古い順
94
- recent: 最近のもの
94
+ recent: 新しい順
95
95
  title: '並び順:'
96
96
  comment_thread:
97
97
  title: '%{authorName} との会話'
@@ -130,7 +130,7 @@ ja:
130
130
  email_subject: '%{author_name} から %{resource_title} に対して新しいコメントがあります'
131
131
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> より <a href="%{resource_path}">%{resource_title} に対して新しいコメントがあります</a>.
132
132
  comment_created:
133
- email_intro: "%{resource_title} はコメントされました。このページでコメントを読むことができます:"
133
+ email_intro: "%{resource_title} にコメントがありました。このページでコメントを読むことができます:"
134
134
  email_outro: '"%{resource_title}" 、またはその参加者をフォローしているためこの通知を受け取りました。前のリンクからフォローを解除することができます。'
135
135
  email_subject: '%{author_name} から %{resource_title} に対して新しいコメントがあります'
136
136
  notification_title: <a href="%{author_path}">%{author_name} %{author_nickname}</a> から <a href="%{resource_path}">%{resource_title} に対して新しいコメントがあります</a>
@@ -89,6 +89,11 @@ lt:
89
89
  offensive: Pateikiamoje informacijoje yra rasizmo, seksizmo, keiksmažodžių, asmeninių atakų, grasinimų ar kitokios neapykantos kalbos.
90
90
  spam: Pateikiamoje informacijoje yra reklamos, antraščių mąsalo ar apgavysčių.
91
91
  title: Pranešti apie netinkamą turinį
92
+ show_replies:
93
+ one: Rodyti atsakymą
94
+ few: Rodyti %{count} atsakymus
95
+ many: Rodyti %{count} atsakymus
96
+ other: Rodyti %{count} atsakymus
92
97
  single_comment_link_title: Gauti nuorodą
93
98
  comment_order_selector:
94
99
  order:
@@ -4,6 +4,7 @@ pl:
4
4
  models:
5
5
  decidim/comments/comment_by_followed_user_event: Komentarz
6
6
  decidim/comments/comment_created_event: Komentarz
7
+ decidim/comments/comment_upvoted_event: Polubiono komentarz
7
8
  decidim/comments/reply_created_event: Odpowiedź na komentarz
8
9
  decidim/comments/user_group_mentioned_event: Wzmianka
9
10
  decidim/comments/user_mentioned_event: Wzmianka
@@ -24,6 +25,8 @@ pl:
24
25
  admin:
25
26
  shared:
26
27
  availability_fields:
28
+ enabled: Komentarze włączone
29
+ end_time: Komentarze włączone do
27
30
  start_time: Komentowanie możliwe od
28
31
  comments:
29
32
  create:
@@ -73,6 +76,7 @@ pl:
73
76
  edit: Edytuj
74
77
  edited: Edytowany
75
78
  hide_replies: Ukryj odpowiedzi
79
+ moderated_at: Komentarz moderowany dnia %{date}
76
80
  reply: Odpowiedz
77
81
  report:
78
82
  action: Zgłoś
@@ -85,6 +89,11 @@ pl:
85
89
  offensive: Promuje rasizm, seksizm, nienawiść, ataki osobiste, groźby śmierci, groźby samobójcze jakąkolwiek formę mowy nienawiści.
86
90
  spam: Zawiera clickbaity, reklamy, oszustwa lub skrypty botów.
87
91
  title: Zgłoś niewłaściwą treść
92
+ show_replies:
93
+ one: Pokaż odpowiedź
94
+ few: Pokaż %{count} odpowiedzi
95
+ many: Pokaż %{count} odpowiedzi
96
+ other: Pokaż %{count} odpowiedzi
88
97
  single_comment_link_title: Pobierz link
89
98
  comment_order_selector:
90
99
  order:
@@ -101,6 +110,7 @@ pl:
101
110
  blocked_comments_warning: Komentarze są w tej chwili wyłączone, ale możesz przeczytać poprzednie.
102
111
  comment_details_title: Szczegóły komentarza
103
112
  loading: Ładowanie komentarzy ...
113
+ single_comment_warning: <a href="%{url}">Zobacz wszystkie komentarze</a>
104
114
  single_comment_warning_title: Wyświetlasz teraz pojedynczy komentarz
105
115
  title:
106
116
  one: "%{count} komentarz"
@@ -4,6 +4,7 @@ pt-BR:
4
4
  models:
5
5
  decidim/comments/comment_by_followed_user_event: Comente
6
6
  decidim/comments/comment_created_event: Comentário
7
+ decidim/comments/comment_upvoted_event: Comentário valorizado positivamente
7
8
  decidim/comments/reply_created_event: Resposta
8
9
  decidim/comments/user_group_mentioned_event: Mencionar
9
10
  decidim/comments/user_mentioned_event: Mencionar
@@ -65,6 +66,7 @@ pt-BR:
65
66
  edit: Editar
66
67
  edited: Editado
67
68
  hide_replies: Ocultar respostas
69
+ moderated_at: Comentário moderado em %{date}
68
70
  reply: Resposta
69
71
  report:
70
72
  action: Relatório
@@ -71,9 +71,9 @@ ro:
71
71
  delete: Șterge
72
72
  deleted_at: Comentariu șters la %{date}
73
73
  deleted_user: Participant șters
74
- edit: Editează
75
- edited: Editat
76
- hide_replies: Ascunde răspunsurile
74
+ edit: Actualizare
75
+ edited: Actualizat
76
+ hide_replies: Ascundeți răspunsurile
77
77
  moderated_at: Comentariu moderat pe %{date}
78
78
  reply: Răspunde
79
79
  report:
@@ -139,7 +139,7 @@ ro:
139
139
  notification_title: Există un comentariu nou de la <a href="%{author_path}">%{author_name} %{author_nickname}</a> pentru <a href="%{resource_path}">%{resource_title}</a>.
140
140
  comment_created:
141
141
  email_intro: "%{resource_title} a primit un comentariu. Poți citi comentariul pe această pagină:"
142
- email_outro: Ai primit această notificare deoarece urmărești „%{resource_title}” sau pe autorii săi. Poți anula abonarea de la link-ul anterior.
142
+ email_outro: Ați primit această notificare deoarece urmăriți „%{resource_title}” sau pe autorii săi. Puteți anula abonarea de la link-ul anterior.
143
143
  email_subject: Există un nou comentariu de la %{author_name} pentru %{resource_title}
144
144
  notification_title: Există un nou comentariu de la <a href="%{author_path}">%{author_name} %{author_nickname}</a> pentru <a href="%{resource_path}">%{resource_title}</a>
145
145
  comment_downvoted:
@@ -0,0 +1,39 @@
1
+ ---
2
+ sq:
3
+ decidim:
4
+ components:
5
+ add_comment_form:
6
+ form:
7
+ user_group_id:
8
+ label: Komento si
9
+ opinion:
10
+ label: Mendimi jot mbi këtë temë
11
+ negative: Negativ
12
+ negative_selected: Mendimi jot mbi këtë temë është negativ
13
+ neutral: Neutral
14
+ neutral_selected: Mendimi jot mbi këtë temë është neutral
15
+ positive: Pozitiv
16
+ positive_selected: Mendimi jot mbi këtë temë është pozitiv
17
+ remaining_characters: "%{count} karaktere të mbetura"
18
+ remaining_characters_1: "%{count} karakter i mbetur"
19
+ title: Shto komentin tënd
20
+ comment:
21
+ alignment:
22
+ against: Kundër
23
+ in_favor: Pro
24
+ confirm_destroy: A je i sigurt që do ta fshish këtë koment?
25
+ delete: Fshi
26
+ deleted_at: Komenti u fshi në datën %{date}
27
+ edit: Përpuno
28
+ edited: Ndryshuar
29
+ hide_replies: Fshih përgjigjet
30
+ moderated_at: Komenti u moderua në datën %{date}
31
+ reply: Përgjigju
32
+ report:
33
+ action: Raporto
34
+ already_reported: Kjo përmbajtje është raportuar nga të tjerë dhe do rishikohet nga administratorët.
35
+ close: Mbyll
36
+ description: Përmbajtje e papërshtatshme?
37
+ details: Komente të tjera
38
+ reasons:
39
+ offensive: Përmban racizëm, seksizëm, ofendime, sulme personale, kërcënime me vdekje, shtyrje për vetëvrasje apo forma të tjera të gjuhës së urrejtjes.
@@ -85,6 +85,9 @@ sv:
85
85
  offensive: Innehåller rasism, sexism, skällsord, personliga attacker, dödshot, uppmaningar att begå självmord eller någon form av hatpropaganda.
86
86
  spam: Innehåller clickbait, reklam, bedrägerier eller skriptrobotar.
87
87
  title: Rapportera olämpligt innehåll
88
+ show_replies:
89
+ one: Visa svar
90
+ other: Visa %{count} svar
88
91
  single_comment_link_title: Hämta länk
89
92
  comment_order_selector:
90
93
  order:
@@ -0,0 +1 @@
1
+ th:
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddCommentVoteCounterCacheToComments < ActiveRecord::Migration[6.1]
4
+ def change
5
+ add_column :decidim_comments_comments, :up_votes_count, :integer, null: false, default: 0, index: true
6
+ add_column :decidim_comments_comments, :down_votes_count, :integer, null: false, default: 0, index: true
7
+
8
+ # We cannot use the reset_counters as up_votes and down_votes are scoped associationws
9
+ reversible do |dir|
10
+ dir.up do
11
+ Decidim::Comments::Comment.reset_column_information
12
+ Decidim::Comments::Comment.find_each do |record|
13
+ # rubocop:disable Rails/SkipsModelValidations
14
+ record.class.update_counters(record.id, up_votes_count: record.up_votes.length)
15
+ record.class.update_counters(record.id, down_votes_count: record.down_votes.length)
16
+ # rubocop:enable Rails/SkipsModelValidations
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path("lib", __dir__)
4
+
5
+ # Maintain your gem's version:
6
+ require "decidim/comments/version"
7
+
8
+ # Describe your gem and declare its dependencies:
9
+ Gem::Specification.new do |s|
10
+ s.version = Decidim::Comments.version
11
+ s.authors = ["Josep Jaume Rey Peroy", "Marc Riera Casals", "Oriol Gual Oliva"]
12
+ s.email = ["josepjaume@gmail.com", "mrc2407@gmail.com", "oriolgual@gmail.com"]
13
+ s.license = "AGPL-3.0"
14
+ s.homepage = "https://github.com/decidim/decidim"
15
+ s.required_ruby_version = "~> 3.0.0"
16
+
17
+ s.name = "decidim-comments"
18
+ s.summary = "Decidim comments module"
19
+ s.description = "Pluggable comments system for some components."
20
+
21
+ s.files = Dir.chdir(__dir__) do
22
+ `git ls-files -z`.split("\x0").select do |f|
23
+ (File.expand_path(f) == __FILE__) ||
24
+ f.start_with?(*%w(app/ config/ db/ lib/ Rakefile README.md))
25
+ end
26
+ end
27
+
28
+ s.add_dependency "decidim-core", Decidim::Comments.version
29
+ s.add_dependency "redcarpet", "~> 3.5", ">= 3.5.1"
30
+
31
+ s.add_development_dependency "decidim-admin", Decidim::Comments.version
32
+ s.add_development_dependency "decidim-dev", Decidim::Comments.version
33
+ end
@@ -58,7 +58,7 @@ module Decidim
58
58
  end
59
59
 
60
60
  def up_votes
61
- object.up_votes.size
61
+ object.up_votes_count
62
62
  end
63
63
 
64
64
  def up_voted
@@ -66,7 +66,7 @@ module Decidim
66
66
  end
67
67
 
68
68
  def down_votes
69
- object.down_votes.size
69
+ object.down_votes_count
70
70
  end
71
71
 
72
72
  def down_voted
@@ -33,7 +33,7 @@ module Decidim
33
33
 
34
34
  def root_commentable_url
35
35
  @root_commentable_url ||= if resource.root_commentable.respond_to?(:polymorphic_resource_url)
36
- resource.root_commentable.polymorphic_resource_url
36
+ resource.root_commentable.polymorphic_resource_url({})
37
37
  else
38
38
  ResourceLocatorPresenter.new(resource.root_commentable).url
39
39
  end
@@ -38,7 +38,7 @@ module Decidim
38
38
 
39
39
  def root_commentable_url
40
40
  @root_commentable_url ||= if resource.comment.root_commentable.respond_to?(:polymorphic_resource_url)
41
- resource.comment.root_commentable.polymorphic_resource_url
41
+ resource.comment.root_commentable.polymorphic_resource_url({})
42
42
  else
43
43
  ResourceLocatorPresenter.new(resource.comment.root_commentable).url
44
44
  end
@@ -4,8 +4,11 @@ require "decidim/core/test/factories"
4
4
 
5
5
  FactoryBot.define do
6
6
  factory :comment, class: "Decidim::Comments::Comment" do
7
- author { build(:user, organization: commentable.organization) }
8
- commentable { build(:dummy_resource) }
7
+ transient do
8
+ skip_injection { false }
9
+ end
10
+ author { build(:user, organization: commentable.organization, skip_injection: skip_injection) }
11
+ commentable { build(:dummy_resource, skip_injection: skip_injection) }
9
12
  root_commentable { commentable }
10
13
  body { Decidim::Faker::Localized.paragraph }
11
14
  participatory_space { commentable.try(:participatory_space) }
@@ -25,22 +28,26 @@ FactoryBot.define do
25
28
  end
26
29
 
27
30
  trait :comment_on_comment do
28
- author { build(:user, organization: root_commentable.organization) }
31
+ author { build(:user, organization: root_commentable.organization, skip_injection: skip_injection) }
29
32
  commentable do
30
33
  build(
31
34
  :comment,
32
35
  author: author,
33
36
  root_commentable: root_commentable,
34
- commentable: root_commentable
37
+ commentable: root_commentable,
38
+ skip_injection: skip_injection
35
39
  )
36
40
  end
37
- root_commentable { build(:dummy_resource) }
41
+ root_commentable { build(:dummy_resource, skip_injection: skip_injection) }
38
42
  end
39
43
  end
40
44
 
41
45
  factory :comment_vote, class: "Decidim::Comments::CommentVote" do
42
- comment { build(:comment) }
43
- author { build(:user, organization: comment.organization) }
46
+ transient do
47
+ skip_injection { false }
48
+ end
49
+ comment { build(:comment, skip_injection: skip_injection) }
50
+ author { build(:user, organization: comment.organization, skip_injection: skip_injection) }
44
51
  weight { [-1, 1].sample }
45
52
 
46
53
  trait :up_vote do
@@ -16,7 +16,7 @@ shared_context "when it's a comment event" do
16
16
  let(:comment_author_name) { decidim_html_escape comment.author.name }
17
17
 
18
18
  let(:extra) { { comment_id: comment.id } }
19
- let(:resource_title) { decidim_html_escape(translated(resource.title)) }
19
+ let(:resource_title) { decidim_sanitize_translated(resource.title) }
20
20
  let(:user_group) do
21
21
  user_group = create(:user_group, :verified, organization: organization, users: [comment_author])
22
22
  comment.update!(user_group: user_group)
@@ -12,7 +12,7 @@ shared_examples_for "a comment voted event" do
12
12
  let(:comment_vote_author) { comment_vote.author }
13
13
 
14
14
  let(:extra) { { comment_id: comment.id, author_id: comment_vote_author.id, weight: weight, downvotes: 100, upvotes: 999 } }
15
- let(:resource_title) { decidim_html_escape(translated(resource.title)) }
15
+ let(:resource_title) { decidim_sanitize_translated(resource.title) }
16
16
  let(:resource_text) { subject.resource_text }
17
17
 
18
18
  let(:verb) { weight.positive? ? "upvoted" : "downvoted" }
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-comments version.
5
5
  module Comments
6
6
  def self.version
7
- "0.27.4"
7
+ "0.27.6"
8
8
  end
9
9
  end
10
10
  end
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-comments
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.4
4
+ version: 0.27.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
8
8
  - Marc Riera Casals
9
9
  - Oriol Gual Oliva
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-07-27 00:00:00.000000000 Z
13
+ date: 2024-04-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.27.4
21
+ version: 0.27.6
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.27.4
28
+ version: 0.27.6
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: redcarpet
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -52,28 +52,28 @@ dependencies:
52
52
  requirements:
53
53
  - - '='
54
54
  - !ruby/object:Gem::Version
55
- version: 0.27.4
55
+ version: 0.27.6
56
56
  type: :development
57
57
  prerelease: false
58
58
  version_requirements: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - '='
61
61
  - !ruby/object:Gem::Version
62
- version: 0.27.4
62
+ version: 0.27.6
63
63
  - !ruby/object:Gem::Dependency
64
64
  name: decidim-dev
65
65
  requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - '='
68
68
  - !ruby/object:Gem::Version
69
- version: 0.27.4
69
+ version: 0.27.6
70
70
  type: :development
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - '='
75
75
  - !ruby/object:Gem::Version
76
- version: 0.27.4
76
+ version: 0.27.6
77
77
  description: Pluggable comments system for some components.
78
78
  email:
79
79
  - josepjaume@gmail.com
@@ -167,7 +167,6 @@ files:
167
167
  - app/views/decidim/comments/votes/create.js.erb
168
168
  - app/views/decidim/comments/votes/error.js.erb
169
169
  - config/assets.rb
170
- - config/environment.rb
171
170
  - config/locales/am-ET.yml
172
171
  - config/locales/ar-SA.yml
173
172
  - config/locales/ar.yml
@@ -200,6 +199,7 @@ files:
200
199
  - config/locales/ga-IE.yml
201
200
  - config/locales/gl.yml
202
201
  - config/locales/gn-PY.yml
202
+ - config/locales/he-IL.yml
203
203
  - config/locales/hr-HR.yml
204
204
  - config/locales/hr.yml
205
205
  - config/locales/hu.yml
@@ -234,9 +234,11 @@ files:
234
234
  - config/locales/sk.yml
235
235
  - config/locales/sl.yml
236
236
  - config/locales/so-SO.yml
237
+ - config/locales/sq-AL.yml
237
238
  - config/locales/sr-CS.yml
238
239
  - config/locales/sv.yml
239
240
  - config/locales/sw-KE.yml
241
+ - config/locales/th-TH.yml
240
242
  - config/locales/ti-ER.yml
241
243
  - config/locales/tr-TR.yml
242
244
  - config/locales/uk.yml
@@ -261,7 +263,9 @@ files:
261
263
  - db/migrate/20200828101910_add_commentable_counter_cache_to_comments.rb
262
264
  - db/migrate/20210402124534_add_participatory_process_to_comments.rb
263
265
  - db/migrate/20210529095942_add_deleted_at_column_to_comments.rb
266
+ - db/migrate/20240304092558_add_comment_vote_counter_cache_to_comments.rb
264
267
  - db/seeds.rb
268
+ - decidim-comments.gemspec
265
269
  - lib/decidim/api/add_comment_type.rb
266
270
  - lib/decidim/api/comment_mutation_type.rb
267
271
  - lib/decidim/api/comment_type.rb
@@ -296,15 +300,15 @@ homepage: https://github.com/decidim/decidim
296
300
  licenses:
297
301
  - AGPL-3.0
298
302
  metadata: {}
299
- post_install_message:
303
+ post_install_message:
300
304
  rdoc_options: []
301
305
  require_paths:
302
306
  - lib
303
307
  required_ruby_version: !ruby/object:Gem::Requirement
304
308
  requirements:
305
- - - ">="
309
+ - - "~>"
306
310
  - !ruby/object:Gem::Version
307
- version: '3.0'
311
+ version: 3.0.0
308
312
  required_rubygems_version: !ruby/object:Gem::Requirement
309
313
  requirements:
310
314
  - - ">="
@@ -312,7 +316,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
312
316
  version: '0'
313
317
  requirements: []
314
318
  rubygems_version: 3.2.22
315
- signing_key:
319
+ signing_key:
316
320
  specification_version: 4
317
321
  summary: Decidim comments module
318
322
  test_files: []
File without changes