commontator 6.2.1 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c41d7e4b88feb84affff73e5a74d3dd276d05946e4522bb40944b5a2787393c
4
- data.tar.gz: fd642e33b5674fc580225b551718cad420d51fba59750608c47201b130afe1e2
3
+ metadata.gz: e4b52a669ee098261a37c5670b3d964f7f5be3628ee9036471240fde923f77ec
4
+ data.tar.gz: 95b55b14e06b86d302ac9b5d75107015fe3f6dd787ba77ff5b30112bfc53bcb7
5
5
  SHA512:
6
- metadata.gz: 8143238089fdd8d0dd8ddefe5a0ce9c388760d428db5f946cf210f876c529b534eff165f9b8eb74bd3c1efa545d1895cda611502a315a9d3bab0d239edd66917
7
- data.tar.gz: 18912adb40b3ee23d9aa26ac8ed47a89c0ef7a1e276fc382042333fe35fdb184b166d5ebdbfd6d14d5fbd3225b8f2a55d095ba0542136a05db2c8b606b4223cf
6
+ metadata.gz: b14bdde0d9c9738efee797e609497d894f5e4d3bd77534f9fabc101b952e37d356b97579fe2ba2eaca6defea3d13bcc18276a20efd1c18ee92a7ff3296c8a6ac
7
+ data.tar.gz: e652e1739c6940111cae53b0a9fbc0c7fe3f8a4e251fd03f422c1ee501faad0382ffafffd331fa22ef66530b0a31fd820c444d582e3a1e7a139f25c2555bb6ad
data/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # Commontator
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/commontator.svg)](https://badge.fury.io/rb/commontator)
4
- [![Build Status](https://travis-ci.org/lml/commontator.svg?branch=master)](https://travis-ci.org/lml/commontator)
4
+ [![Tests](https://github.com/lml/commontator/workflows/Tests/badge.svg)](https://github.com/lml/commontator/actions?query=workflow:Tests)
5
5
  [![Code Climate](https://codeclimate.com/github/lml/commontator/badges/gpa.svg)](https://codeclimate.com/github/lml/commontator)
6
6
  [![Code Coverage](https://codeclimate.com/github/lml/commontator/badges/coverage.svg)](https://codeclimate.com/github/lml/commontator)
7
7
 
8
- Commontator is a Rails engine for comments. It is compatible with Rails 5+.
8
+ Commontator is a Rails engine for comments. It is compatible with Rails 5.2+.
9
9
  Being an engine means it is fully functional as soon as you install and
10
10
  configure the gem, providing models, views and controllers of its own.
11
11
  At the same time, almost anything about it can be configured or customized to suit your needs.
@@ -1,3 +1,7 @@
1
+ require 'will_paginate/view_helpers/link_renderer'
2
+ require 'will_paginate/view_helpers/action_view'
3
+
4
+
1
5
  class Commontator::LinkRenderer < WillPaginate::ActionView::LinkRenderer
2
6
  protected
3
7
 
@@ -8,6 +8,8 @@ class Commontator::Thread < ActiveRecord::Base
8
8
  validates :commontable, presence: true, unless: :is_closed?
9
9
  validates :commontable_id, uniqueness: { scope: :commontable_type, allow_nil: true }
10
10
 
11
+ RAILS_7_PRELOADER = Rails::VERSION::MAJOR >= 7
12
+
11
13
  def config
12
14
  @config ||= commontable.try(:commontable_config) || Commontator
13
15
  end
@@ -147,9 +149,17 @@ class Commontator::Thread < ActiveRecord::Base
147
149
  ).tap do |nested_comments|
148
150
  next unless is_votable?
149
151
 
150
- ActiveRecord::Associations::Preloader.new.preload(
151
- nested_comments.flatten, :votes_for, ActsAsVotable::Vote.where(voter: user)
152
- )
152
+ if RAILS_7_PRELOADER
153
+ ActiveRecord::Associations::Preloader.new(
154
+ records: nested_comments.flatten,
155
+ associations: :votes_for,
156
+ scope: ActsAsVotable::Vote.where(voter: user)
157
+ ).call
158
+ else
159
+ ActiveRecord::Associations::Preloader.new.preload(
160
+ nested_comments.flatten, :votes_for, ActsAsVotable::Vote.where(voter: user)
161
+ )
162
+ end
153
163
  end
154
164
  end
155
165
 
@@ -36,7 +36,7 @@
36
36
  <% is_deleted = comment.is_deleted? %>
37
37
  <% del_string = is_deleted ? 'undelete' : 'delete' %>
38
38
  <%= link_to t("commontator.comment.actions.#{del_string}"),
39
- commontator.polymorphic_path([del_string, comment]),
39
+ commontator.polymorphic_path([del_string.to_sym, comment]),
40
40
  data: is_deleted ? {} : { confirm: t('commontator.comment.actions.confirm_delete') },
41
41
  method: :put,
42
42
  id: "commontator-comment-#{comment.id}-#{del_string}",
@@ -7,7 +7,7 @@
7
7
  <% is_subscribed = !!thread.subscription_for(user) %>
8
8
  <% sub_string = is_subscribed ? 'unsubscribe' : 'subscribe' %>
9
9
  <%= link_to t("commontator.subscription.actions.#{sub_string}"),
10
- commontator.polymorphic_path([sub_string, thread]),
10
+ commontator.polymorphic_path([sub_string.to_sym, thread]),
11
11
  method: :put,
12
12
  id: "commontator-thread-#{thread.id}-#{sub_string}",
13
13
  class: sub_string,
@@ -54,7 +54,7 @@
54
54
  <% end %>
55
55
 
56
56
  <%= link_to t("commontator.thread.actions.#{close_string}"),
57
- commontator.polymorphic_path([close_string, thread]),
57
+ commontator.polymorphic_path([close_string.to_sym, thread]),
58
58
  data: is_closed ? {} :
59
59
  { confirm: t('commontator.thread.actions.confirm_close') },
60
60
  method: :put,
@@ -110,5 +110,5 @@
110
110
  </div>
111
111
 
112
112
  <script type="text/javascript">
113
- <%= render partial: 'commontator/threads/hide_show_links.js', locals: { thread: thread } %>
113
+ <%= render partial: 'commontator/threads/hide_show_links', locals: { thread: thread } %>
114
114
  </script>
@@ -17,7 +17,7 @@ module Commontator::ActsAsCommontable
17
17
  cattr_accessor :commontable_config
18
18
  self.commontable_config = Commontator::CommontableConfig.new(options)
19
19
 
20
- has_one :commontator_thread, association_options.merge(
20
+ has_one :commontator_thread, **association_options.merge(
21
21
  as: :commontable, class_name: 'Commontator::Thread'
22
22
  )
23
23
 
@@ -16,10 +16,10 @@ module Commontator::ActsAsCommontator
16
16
  cattr_accessor :commontator_config
17
17
  self.commontator_config = Commontator::CommontatorConfig.new(options)
18
18
 
19
- has_many :commontator_comments, association_options.merge(
19
+ has_many :commontator_comments, **association_options.merge(
20
20
  as: :creator, class_name: 'Commontator::Comment'
21
21
  )
22
- has_many :commontator_subscriptions, association_options.merge(
22
+ has_many :commontator_subscriptions, **association_options.merge(
23
23
  as: :subscriber, class_name: 'Commontator::Subscription'
24
24
  )
25
25
 
@@ -1,10 +1,6 @@
1
1
  require_relative 'shared_helper'
2
2
 
3
3
  module Commontator::Controllers
4
- def self.included(base)
5
- base.helper Commontator::SharedHelper
6
- end
7
-
8
4
  def commontator_set_thread_variables
9
5
  return if @commontator_thread.nil? || !@commontator_thread.can_be_read_by?(@commontator_user)
10
6
 
@@ -1,7 +1,13 @@
1
1
  require 'commontator'
2
+ require 'sprockets/railtie'
2
3
 
3
4
  class Commontator::Engine < ::Rails::Engine
4
5
  isolate_namespace Commontator
5
6
 
7
+ # Files in installed gems don't change during development,
8
+ # but still cause issues in Rails 7 if autoloaded in an initializer
9
+ # To fix this, make sure they are autoloaded only once
10
+ config.autoload_once_paths = config.autoload_paths + config.eager_load_paths
11
+
6
12
  config.assets.precompile += [ 'commontator/*.png' ]
7
13
  end
@@ -59,5 +59,8 @@ end
59
59
 
60
60
  ActiveSupport.on_load :action_controller do
61
61
  include Commontator::SharedHelper
62
+ end
63
+
64
+ ActiveSupport.on_load :action_controller_base do
62
65
  helper Commontator::SharedHelper
63
66
  end
@@ -1 +1 @@
1
- COMMONTATOR_VERSION = '6.2.1'
1
+ COMMONTATOR_VERSION = '7.0.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commontator
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.1
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dante Soares
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-02 00:00:00.000000000 Z
11
+ date: 2022-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,14 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
19
+ version: '6.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '5.0'
26
+ version: '6.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sprockets-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: will_paginate
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -236,7 +250,7 @@ homepage: https://github.com/lml/commontator
236
250
  licenses:
237
251
  - MIT
238
252
  metadata: {}
239
- post_install_message:
253
+ post_install_message:
240
254
  rdoc_options: []
241
255
  require_paths:
242
256
  - lib
@@ -251,8 +265,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
265
  - !ruby/object:Gem::Version
252
266
  version: '0'
253
267
  requirements: []
254
- rubygems_version: 3.0.4
255
- signing_key:
268
+ rubygems_version: 3.1.4
269
+ signing_key:
256
270
  specification_version: 4
257
271
  summary: Allows users to comment on any model in your application.
258
272
  test_files: []