decidim-comments 0.29.2 → 0.30.0.rc1
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 +4 -4
- data/app/cells/decidim/comments/comment/actions.erb +0 -8
- data/app/cells/decidim/comments/comment/show.erb +41 -5
- data/app/cells/decidim/comments/comment_cell.rb +44 -0
- data/app/cells/decidim/comments/comment_form/comment_as.erb +24 -6
- data/app/cells/decidim/comments/comment_form/opinion.erb +0 -4
- data/app/cells/decidim/comments/comment_form/show.erb +31 -29
- data/app/cells/decidim/comments/comment_form_cell.rb +7 -2
- data/app/cells/decidim/comments/comment_thread/show.erb +1 -1
- data/app/cells/decidim/comments/comments/add_comment.erb +12 -14
- data/app/cells/decidim/comments/comments/comments_in_single_column.erb +6 -0
- data/app/cells/decidim/comments/comments/order_control.erb +32 -9
- data/app/cells/decidim/comments/comments/show.erb +7 -7
- data/app/cells/decidim/comments/comments_cell.rb +56 -12
- data/app/cells/decidim/comments/two_columns_comments/column.erb +20 -0
- data/app/cells/decidim/comments/two_columns_comments/show.erb +11 -0
- data/app/cells/decidim/comments/two_columns_comments_cell.rb +86 -0
- data/app/forms/decidim/comments/comment_form.rb +14 -0
- data/app/models/decidim/comments/comment.rb +9 -7
- data/app/packs/entrypoints/decidim_comments.js +1 -0
- data/app/packs/src/decidim/comments/comments.component.js +151 -24
- data/app/packs/src/decidim/comments/comments.component.test.js +2 -1
- data/app/packs/src/decidim/comments/comments.js +95 -12
- data/app/packs/src/decidim/comments/comments_dropdown.js +57 -0
- data/app/packs/src/decidim/comments/comments_mobile_modal.js +46 -0
- data/app/packs/stylesheets/comments.scss +203 -50
- data/app/queries/decidim/comments/metrics/comment_participants_metric_measure.rb +1 -1
- data/app/queries/decidim/comments/metrics/comments_metric_manage.rb +22 -17
- data/app/views/decidim/comments/comments/create.js.erb +9 -1
- data/config/locales/ar.yml +0 -1
- data/config/locales/bg.yml +0 -1
- data/config/locales/ca.yml +35 -2
- data/config/locales/cs.yml +37 -2
- data/config/locales/de.yml +35 -2
- data/config/locales/el.yml +0 -1
- data/config/locales/en.yml +35 -2
- data/config/locales/es-MX.yml +35 -2
- data/config/locales/es-PY.yml +35 -2
- data/config/locales/es.yml +35 -2
- data/config/locales/eu.yml +37 -4
- data/config/locales/fi-plain.yml +35 -2
- data/config/locales/fi.yml +35 -2
- data/config/locales/fr-CA.yml +8 -2
- data/config/locales/fr.yml +8 -2
- data/config/locales/gl.yml +0 -1
- data/config/locales/hu.yml +0 -1
- data/config/locales/id-ID.yml +0 -1
- data/config/locales/is-IS.yml +0 -1
- data/config/locales/it.yml +1 -1
- data/config/locales/ja.yml +34 -2
- data/config/locales/lb.yml +0 -1
- data/config/locales/lt.yml +0 -1
- data/config/locales/lv.yml +0 -1
- data/config/locales/nl.yml +0 -1
- data/config/locales/no.yml +0 -1
- data/config/locales/pl.yml +0 -2
- data/config/locales/pt-BR.yml +0 -1
- data/config/locales/pt.yml +0 -1
- data/config/locales/ro-RO.yml +1 -2
- data/config/locales/ru.yml +0 -1
- data/config/locales/sk.yml +0 -1
- data/config/locales/sv.yml +19 -2
- data/config/locales/tr-TR.yml +0 -1
- data/config/locales/uk.yml +0 -1
- data/config/locales/zh-CN.yml +0 -1
- data/config/locales/zh-TW.yml +0 -1
- data/decidim-comments.gemspec +1 -1
- data/lib/decidim/api/comment_mutation_type.rb +2 -2
- data/lib/decidim/api/comment_type.rb +12 -45
- data/lib/decidim/api/commentable_interface.rb +4 -16
- data/lib/decidim/api/commentable_mutation_type.rb +2 -3
- data/lib/decidim/comments/commentable.rb +11 -0
- data/lib/decidim/comments/engine.rb +7 -1
- data/lib/decidim/comments/test/factories.rb +8 -0
- data/lib/decidim/comments/test/shared_examples/comment_event.rb +1 -1
- data/lib/decidim/comments/test/shared_examples/comment_voted_event.rb +2 -2
- data/lib/decidim/comments/test/shared_examples/create_comment_context.rb +1 -1
- data/lib/decidim/comments/test/shared_examples/translatable_comment.rb +2 -2
- data/lib/decidim/comments/version.rb +1 -1
- metadata +16 -10
@@ -4,37 +4,24 @@ module Decidim
|
|
4
4
|
module Comments
|
5
5
|
# This type represents a comment on a commentable object.
|
6
6
|
class CommentType < Decidim::Api::Types::BaseObject
|
7
|
-
|
8
|
-
|
7
|
+
implements Decidim::Core::TimestampsInterface
|
9
8
|
implements Decidim::Comments::CommentableInterface
|
10
|
-
field :author, Decidim::Core::AuthorInterface, "The resource author", null: false
|
11
|
-
|
12
|
-
field :id, GraphQL::Types::ID, "The Comment's unique ID", null: false
|
13
|
-
|
14
|
-
field :sgid, GraphQL::Types::String, "The Comment's signed global id", null: false
|
15
|
-
|
16
|
-
field :body, GraphQL::Types::String, "The comment message", null: false
|
17
|
-
|
18
|
-
field :formatted_body, GraphQL::Types::String, "The comment message ready to display (it is expected to include HTML)", null: false
|
19
9
|
|
20
|
-
|
21
|
-
|
22
|
-
field :formatted_created_at, GraphQL::Types::String, "The creation date of the comment in relative format", null: false
|
10
|
+
description "A comment"
|
23
11
|
|
24
12
|
field :alignment, GraphQL::Types::Int, "The comment's alignment. Can be 0 (neutral), 1 (in favor) or -1 (against)'", null: true
|
25
|
-
|
26
|
-
field :
|
27
|
-
|
28
|
-
field :up_voted, GraphQL::Types::Boolean, "Check if the current user has upvoted the comment", null: false
|
29
|
-
|
30
|
-
field :down_votes, GraphQL::Types::Int, "The number of comment's downVotes", null: false
|
31
|
-
|
13
|
+
field :already_reported, GraphQL::Types::Boolean, "Check if the current user has reported the comment", null: false
|
14
|
+
field :author, Decidim::Core::AuthorInterface, "The resource author", null: false
|
15
|
+
field :body, GraphQL::Types::String, "The comment message", null: false, method: :translated_body
|
32
16
|
field :down_voted, GraphQL::Types::Boolean, "Check if the current user has downvoted the comment", null: false
|
33
|
-
|
17
|
+
field :down_votes, GraphQL::Types::Int, "The number of comment's downVotes", null: false, method: :down_votes_count
|
18
|
+
field :formatted_body, GraphQL::Types::String, "The comment message ready to display (it is expected to include HTML)", null: false
|
19
|
+
field :formatted_created_at, GraphQL::Types::String, "The creation date of the comment in relative format", null: false, method: :friendly_created_at
|
34
20
|
field :has_comments, GraphQL::Types::Boolean, "Check if the commentable has comments", method: :has_comments?, null: false
|
35
|
-
|
36
|
-
field :
|
37
|
-
|
21
|
+
field :id, GraphQL::Types::ID, "The Comment's unique ID", null: false
|
22
|
+
field :sgid, GraphQL::Types::String, "The Comment's signed global id", null: false
|
23
|
+
field :up_voted, GraphQL::Types::Boolean, "Check if the current user has upvoted the comment", null: false
|
24
|
+
field :up_votes, GraphQL::Types::Int, "The number of comment's upVotes", null: false, method: :up_votes_count
|
38
25
|
field :user_allowed_to_comment, GraphQL::Types::Boolean, "Check if the current user can comment", null: false
|
39
26
|
|
40
27
|
def author
|
@@ -45,30 +32,10 @@ module Decidim
|
|
45
32
|
object.to_sgid.to_s
|
46
33
|
end
|
47
34
|
|
48
|
-
def body
|
49
|
-
object.translated_body
|
50
|
-
end
|
51
|
-
|
52
|
-
def created_at
|
53
|
-
object.created_at.iso8601
|
54
|
-
end
|
55
|
-
|
56
|
-
def formatted_created_at
|
57
|
-
object.friendly_created_at
|
58
|
-
end
|
59
|
-
|
60
|
-
def up_votes
|
61
|
-
object.up_votes_count
|
62
|
-
end
|
63
|
-
|
64
35
|
def up_voted
|
65
36
|
object.up_voted_by?(context[:current_user])
|
66
37
|
end
|
67
38
|
|
68
|
-
def down_votes
|
69
|
-
object.down_votes_count
|
70
|
-
end
|
71
|
-
|
72
39
|
def down_voted
|
73
40
|
object.down_voted_by?(context[:current_user])
|
74
41
|
end
|
@@ -8,40 +8,28 @@ module Decidim
|
|
8
8
|
description "A commentable interface"
|
9
9
|
|
10
10
|
field :id, GraphQL::Types::ID, "The commentable's ID", null: false
|
11
|
-
|
12
11
|
field :type, GraphQL::Types::String, "The commentable's class name. i.e. `Decidim::ParticipatoryProcess`", method: :commentable_type, null: false
|
13
|
-
|
14
12
|
field :accepts_new_comments, GraphQL::Types::Boolean, "Whether the object can have new comments or not", method: :accepts_new_comments?, null: false
|
15
|
-
|
16
13
|
field :comments_have_alignment, GraphQL::Types::Boolean, "Whether the object comments have alignment or not", method: :comments_have_alignment?, null: false
|
17
|
-
|
18
14
|
field :comments_have_votes, GraphQL::Types::Boolean, "Whether the object comments have votes or not", method: :comments_have_votes?, null: false
|
19
|
-
|
20
|
-
field :
|
15
|
+
field :total_comments_count, GraphQL::Types::Int, description: "The number of comments in all levels this resource holds", method: :comments_count, null: false
|
16
|
+
field :has_comments, GraphQL::Types::Boolean, "Check if the commentable has comments", null: false
|
17
|
+
field :user_allowed_to_comment, GraphQL::Types::Boolean, "Check if the current user can comment", null: false
|
18
|
+
field :comments, [Decidim::Comments::CommentType, { null: false }], "The list of replies in this comment", null: false do
|
21
19
|
argument :order_by, GraphQL::Types::String, "Order the comments", required: false
|
22
20
|
argument :single_comment_id, GraphQL::Types::String, "ID of the single comment to look at", required: false
|
23
21
|
end
|
24
22
|
|
25
|
-
field :total_comments_count, GraphQL::Types::Int, description: "The number of comments in all levels this resource holds", null: false
|
26
|
-
|
27
23
|
def comments(order_by: nil, single_comment_id: nil)
|
28
24
|
SortedComments.for(object, order_by:, id: single_comment_id).not_hidden
|
29
25
|
end
|
30
26
|
|
31
|
-
def total_comments_count
|
32
|
-
object.comments_count
|
33
|
-
end
|
34
|
-
|
35
|
-
field :has_comments, GraphQL::Types::Boolean, "Check if the commentable has comments", null: false
|
36
|
-
|
37
27
|
# rubocop:disable Naming/PredicateName
|
38
28
|
def has_comments
|
39
29
|
object.comment_threads.not_hidden.size.positive?
|
40
30
|
end
|
41
31
|
# rubocop:enable Naming/PredicateName
|
42
32
|
|
43
|
-
field :user_allowed_to_comment, GraphQL::Types::Boolean, "Check if the current user can comment", null: false
|
44
|
-
|
45
33
|
def user_allowed_to_comment
|
46
34
|
object.commentable? && object.user_allowed_to_comment?(context[:current_user])
|
47
35
|
end
|
@@ -5,13 +5,12 @@ module Decidim
|
|
5
5
|
class CommentableMutationType < Decidim::Api::Types::BaseObject
|
6
6
|
description "A commentable which includes its available mutations"
|
7
7
|
|
8
|
-
field :id, GraphQL::Types::ID, "The Commentable's unique ID", null: false
|
9
|
-
|
10
8
|
field :add_comment, Decidim::Comments::CommentType, description: "Add a new comment to a commentable", null: true do
|
11
|
-
argument :body, GraphQL::Types::String, "The comments's body", required: true
|
12
9
|
argument :alignment, GraphQL::Types::Int, "The comment's alignment. Can be 0 (neutral), 1 (in favor) or -1 (against)'", default_value: 0, required: false
|
10
|
+
argument :body, GraphQL::Types::String, "The comments's body", required: true
|
13
11
|
argument :user_group_id, GraphQL::Types::ID, "The comment's user group id. Replaces the author.", required: false
|
14
12
|
end
|
13
|
+
field :id, GraphQL::Types::ID, "The Commentable's unique ID", null: false
|
15
14
|
|
16
15
|
def add_comment(body:, alignment: nil, user_group_id: nil)
|
17
16
|
params = { "comment" => { "body" => body, "alignment" => alignment, "user_group_id" => user_group_id, "commentable" => object } }
|
@@ -67,6 +67,17 @@ module Decidim
|
|
67
67
|
update_columns(comments_count:, updated_at: Time.current)
|
68
68
|
end
|
69
69
|
# rubocop:enable Rails/SkipsModelValidations
|
70
|
+
|
71
|
+
# Public: Returns an array with extra actions available for a comment and a user.
|
72
|
+
# Returns an array of hashes with the following keys:
|
73
|
+
# - label: The label to be displayed in the UI.
|
74
|
+
# - url: The action to be performed when the user clicks the label.
|
75
|
+
# - method: The HTTP method to be used when performing the action (optional).
|
76
|
+
# - icon: The icon to be displayed next to the label (optional).
|
77
|
+
# - data: Any "data-*" attributes to be included in the link (optional).
|
78
|
+
def actions_for_comment(_comment, _current_user)
|
79
|
+
[]
|
80
|
+
end
|
70
81
|
end
|
71
82
|
end
|
72
83
|
end
|
@@ -4,7 +4,6 @@ require "rails"
|
|
4
4
|
require "active_support/all"
|
5
5
|
|
6
6
|
require "decidim/core"
|
7
|
-
require "foundation_rails_helper"
|
8
7
|
|
9
8
|
require "decidim/comments/query_extensions"
|
10
9
|
require "decidim/comments/mutation_extensions"
|
@@ -21,6 +20,12 @@ module Decidim
|
|
21
20
|
end
|
22
21
|
end
|
23
22
|
|
23
|
+
initializer "decidim_comments.mount_routes" do
|
24
|
+
Decidim::Core::Engine.routes do
|
25
|
+
mount Decidim::Comments::Engine, at: "/", as: "decidim_comments"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
24
29
|
initializer "decidim_comments.query_extensions" do
|
25
30
|
Decidim::Api::QueryType.include QueryExtensions
|
26
31
|
end
|
@@ -42,6 +47,7 @@ module Decidim
|
|
42
47
|
|
43
48
|
Decidim.icons.register(name: "Decidim::Comments::Comment", icon: "chat-1-line", description: "Comment", category: "activity", engine: :comments)
|
44
49
|
Decidim.icons.register(name: "comments_count", icon: "wechat-line", description: "Comments Count", category: "activity", engine: :comments)
|
50
|
+
Decidim.icons.register(name: "star-s-line", icon: "star-s-line", description: "Most upvoted comment", category: "activity", engine: :comments)
|
45
51
|
|
46
52
|
Decidim.icons.register(name: "thumb-up-line", icon: "thumb-up-line", description: "Upvote comment button", **common_parameters)
|
47
53
|
Decidim.icons.register(name: "thumb-up-fill", icon: "thumb-up-fill", description: "User upvoted comment", **common_parameters)
|
@@ -46,6 +46,14 @@ FactoryBot.define do
|
|
46
46
|
create(:moderation, reportable: comment, hidden_at: 2.days.ago, skip_injection: evaluator.skip_injection)
|
47
47
|
end
|
48
48
|
end
|
49
|
+
|
50
|
+
trait :in_favor do
|
51
|
+
alignment { 1 }
|
52
|
+
end
|
53
|
+
|
54
|
+
trait :against do
|
55
|
+
alignment { -1 }
|
56
|
+
end
|
49
57
|
end
|
50
58
|
|
51
59
|
factory :comment_vote, class: "Decidim::Comments::CommentVote" do
|
@@ -10,7 +10,7 @@ shared_context "when it is a comment event" do
|
|
10
10
|
|
11
11
|
let(:resource) { comment.commentable }
|
12
12
|
|
13
|
-
let(:comment) { create
|
13
|
+
let(:comment) { create(:comment) }
|
14
14
|
let(:comment_author) { comment.author }
|
15
15
|
let(:normalized_comment_author) { comment.author }
|
16
16
|
let(:comment_author_name) { decidim_html_escape comment.author.name }
|
@@ -7,8 +7,8 @@ shared_examples_for "a comment voted event" do
|
|
7
7
|
|
8
8
|
let(:resource) { comment.commentable }
|
9
9
|
|
10
|
-
let(:comment) { create
|
11
|
-
let(:comment_vote) { create
|
10
|
+
let(:comment) { create(:comment) }
|
11
|
+
let(:comment_vote) { create(:comment_vote, comment:) }
|
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:, downvotes: 100, upvotes: 999 } }
|
@@ -7,7 +7,7 @@ RSpec.shared_context "when creating a comment" do
|
|
7
7
|
let(:user) { create(:user, organization:) }
|
8
8
|
let(:author) { create(:user, organization:) }
|
9
9
|
let(:current_user) { author }
|
10
|
-
let(:dummy_resource) { create
|
10
|
+
let(:dummy_resource) { create(:dummy_resource, component:) }
|
11
11
|
let(:commentable) { dummy_resource }
|
12
12
|
let(:body) { Faker::Lorem.paragraph }
|
13
13
|
let(:alignment) { 1 }
|
@@ -6,10 +6,10 @@ shared_examples_for "a translated comment event" do
|
|
6
6
|
describe "translated notifications" do
|
7
7
|
let(:en_body) { "This is Sparta!" }
|
8
8
|
let(:body) { { en: en_body, machine_translations: { ca: "C'est Sparta!" } } }
|
9
|
-
let(:participatory_process) { create
|
9
|
+
let(:participatory_process) { create(:participatory_process, organization:) }
|
10
10
|
let(:component) { create(:component, participatory_space: participatory_process) }
|
11
11
|
let(:commentable) { create(:dummy_resource, component:) }
|
12
|
-
let(:comment) { create
|
12
|
+
let(:comment) { create(:comment, body:, commentable:) }
|
13
13
|
let(:en_version) { "<div><p>#{comment.body["en"]}</p></div>" }
|
14
14
|
let(:machine_translated) { "<div><p>#{comment.body["machine_translations"]["ca"]}</p></div>" }
|
15
15
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-comments
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.30.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2025-02-
|
13
|
+
date: 2025-02-18 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.
|
21
|
+
version: 0.30.0.rc1
|
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.
|
28
|
+
version: 0.30.0.rc1
|
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.
|
55
|
+
version: 0.30.0.rc1
|
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.
|
62
|
+
version: 0.30.0.rc1
|
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.
|
69
|
+
version: 0.30.0.rc1
|
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.
|
76
|
+
version: 0.30.0.rc1
|
77
77
|
description: Pluggable comments system for some components.
|
78
78
|
email:
|
79
79
|
- josepjaume@gmail.com
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- app/cells/decidim/comments/comment_thread_cell.rb
|
106
106
|
- app/cells/decidim/comments/comments/add_comment.erb
|
107
107
|
- app/cells/decidim/comments/comments/blocked_comments_warning.erb
|
108
|
+
- app/cells/decidim/comments/comments/comments_in_single_column.erb
|
108
109
|
- app/cells/decidim/comments/comments/comments_loading.erb
|
109
110
|
- app/cells/decidim/comments/comments/order_control.erb
|
110
111
|
- app/cells/decidim/comments/comments/show.erb
|
@@ -113,6 +114,9 @@ files:
|
|
113
114
|
- app/cells/decidim/comments/comments_cell.rb
|
114
115
|
- app/cells/decidim/comments/edit_comment_modal_form/show.erb
|
115
116
|
- app/cells/decidim/comments/edit_comment_modal_form_cell.rb
|
117
|
+
- app/cells/decidim/comments/two_columns_comments/column.erb
|
118
|
+
- app/cells/decidim/comments/two_columns_comments/show.erb
|
119
|
+
- app/cells/decidim/comments/two_columns_comments_cell.rb
|
116
120
|
- app/commands/decidim/comments/create_comment.rb
|
117
121
|
- app/commands/decidim/comments/delete_comment.rb
|
118
122
|
- app/commands/decidim/comments/update_comment.rb
|
@@ -142,6 +146,8 @@ files:
|
|
142
146
|
- app/packs/src/decidim/comments/comments.component.test.js
|
143
147
|
- app/packs/src/decidim/comments/comments.component_for_testing.js
|
144
148
|
- app/packs/src/decidim/comments/comments.js
|
149
|
+
- app/packs/src/decidim/comments/comments_dropdown.js
|
150
|
+
- app/packs/src/decidim/comments/comments_mobile_modal.js
|
145
151
|
- app/packs/stylesheets/comments.scss
|
146
152
|
- app/permissions/decidim/comments/permissions.rb
|
147
153
|
- app/queries/decidim/comments/metrics/comment_participants_metric_measure.rb
|
@@ -316,14 +322,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
316
322
|
requirements:
|
317
323
|
- - "~>"
|
318
324
|
- !ruby/object:Gem::Version
|
319
|
-
version: 3.
|
325
|
+
version: 3.3.0
|
320
326
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
321
327
|
requirements:
|
322
328
|
- - ">="
|
323
329
|
- !ruby/object:Gem::Version
|
324
330
|
version: '0'
|
325
331
|
requirements: []
|
326
|
-
rubygems_version: 3.
|
332
|
+
rubygems_version: 3.5.11
|
327
333
|
signing_key:
|
328
334
|
specification_version: 4
|
329
335
|
summary: Decidim comments module
|