From e0dd72658115035e270a2c9f5821fd5ce2eda599 Mon Sep 17 00:00:00 2001 From: Gleb Mazovetskiy Date: Sat, 17 Aug 2019 10:54:46 +0100 Subject: [PATCH] Remove Rails 6.0.0.rc2 workaround This was a work-around for: https://github.com/rails/rails/issues/36761 It is no longer necessary and won't work with Rails 6.0.0 --- app/models/concerns/thredded/topic_common.rb | 7 +------ app/models/thredded/messageboard.rb | 18 +++--------------- lib/thredded.rb | 7 ------- 3 files changed, 4 insertions(+), 28 deletions(-) diff --git a/app/models/concerns/thredded/topic_common.rb b/app/models/concerns/thredded/topic_common.rb index d046df929..3ccee8f8d 100644 --- a/app/models/concerns/thredded/topic_common.rb +++ b/app/models/concerns/thredded/topic_common.rb @@ -62,12 +62,7 @@ def unread(user) unread_scope = reads_class.where(reads[:id].eq(nil).or(reads[:unread_posts_count].not_eq(0))) - # Work around https://github.com/rails/rails/issues/36761 - if Thredded.rails_gte_600_rc_2? - merge(unread_scope).joins(joins_reads) - else - joins(joins_reads).merge(unread_scope) - end + joins(joins_reads).merge(unread_scope) end private diff --git a/app/models/thredded/messageboard.rb b/app/models/thredded/messageboard.rb index 1467bb2e4..20afd6d3d 100644 --- a/app/models/thredded/messageboard.rb +++ b/app/models/thredded/messageboard.rb @@ -138,21 +138,9 @@ def unread_topics_counts(user:, topics_scope: Thredded::Topic.all) .and(read_states[:user_id].eq(user.id)) .and(read_states[:unread_posts_count].eq(0)) - scope = - # Work around https://github.com/rails/rails/issues/36761 - if Thredded.rails_gte_600_rc_2? - merge(topics_scope).joins( - messageboards.join(topics) - .on(topics[:messageboard_id].eq(messageboards[:id])) - .outer_join(read_states).on(read_states_join_cond).join_sources - ) - else - joins(:topics).merge(topics_scope).joins( - messageboards.outer_join(read_states).on(read_states_join_cond).join_sources - ) - end - - scope.group(messageboards[:id]).pluck( + joins(:topics).merge(topics_scope).joins( + messageboards.outer_join(read_states).on(read_states_join_cond).join_sources + ).group(messageboards[:id]).pluck( :id, Arel::Nodes::Subtraction.new(topics[:id].count, read_states[:id].count) ).to_h diff --git a/lib/thredded.rb b/lib/thredded.rb index d04510ec3..c909c8e1d 100644 --- a/lib/thredded.rb +++ b/lib/thredded.rb @@ -254,13 +254,6 @@ def rails_gte_51? @rails_gte_51 end - # @api private - # Mainly to work around https://github.com/rails/rails/issues/36761 - def rails_gte_600_rc_2? - @rails_gte_600_rc_2 = (Rails.gem_version >= Gem::Version.new('6.0.0.rc2')) if @rails_gte_600_rc_2.nil? - @rails_gte_600_rc_2 - end - # @api private def rails_supports_csp_nonce? @rails_supports_csp_nonce = (Rails.gem_version >= Gem::Version.new('5.2.0')) if @rails_supports_csp_nonce.nil?