2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-06 10:50:21 +08:00

DEV: update Rails to version 6.0.1

This version of Rails eliminates a monkey patch that is no longer needed!

Additionally it preps us for Ruby 2.7 support.
This commit is contained in:
Sam Saffron 2019-11-08 16:56:30 +11:00
parent 56d3e29a69
commit 26c0199c01
3 changed files with 42 additions and 99 deletions

14
Gemfile
View file

@ -16,13 +16,13 @@ if rails_master?
else else
# until rubygems gives us optional dependencies we are stuck with this # until rubygems gives us optional dependencies we are stuck with this
# bundle update actionmailer actionpack actionview activemodel activerecord activesupport railties # bundle update actionmailer actionpack actionview activemodel activerecord activesupport railties
gem 'actionmailer', '6.0.0' gem 'actionmailer', '6.0.1'
gem 'actionpack', '6.0.0' gem 'actionpack', '6.0.1'
gem 'actionview', '6.0.0' gem 'actionview', '6.0.1'
gem 'activemodel', '6.0.0' gem 'activemodel', '6.0.1'
gem 'activerecord', '6.0.0' gem 'activerecord', '6.0.1'
gem 'activesupport', '6.0.0' gem 'activesupport', '6.0.1'
gem 'railties', '6.0.0' gem 'railties', '6.0.1'
gem 'sprockets-rails' gem 'sprockets-rails'
end end

View file

@ -1,21 +1,21 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actionmailer (6.0.0) actionmailer (6.0.1)
actionpack (= 6.0.0) actionpack (= 6.0.1)
actionview (= 6.0.0) actionview (= 6.0.1)
activejob (= 6.0.0) activejob (= 6.0.1)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (6.0.0) actionpack (6.0.1)
actionview (= 6.0.0) actionview (= 6.0.1)
activesupport (= 6.0.0) activesupport (= 6.0.1)
rack (~> 2.0) rack (~> 2.0)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actionview (6.0.0) actionview (6.0.1)
activesupport (= 6.0.0) activesupport (= 6.0.1)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
@ -24,20 +24,20 @@ GEM
actionview (>= 6.0.a) actionview (>= 6.0.a)
active_model_serializers (0.8.4) active_model_serializers (0.8.4)
activemodel (>= 3.0) activemodel (>= 3.0)
activejob (6.0.0) activejob (6.0.1)
activesupport (= 6.0.0) activesupport (= 6.0.1)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (6.0.0) activemodel (6.0.1)
activesupport (= 6.0.0) activesupport (= 6.0.1)
activerecord (6.0.0) activerecord (6.0.1)
activemodel (= 6.0.0) activemodel (= 6.0.1)
activesupport (= 6.0.0) activesupport (= 6.0.1)
activesupport (6.0.0) activesupport (6.0.1)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
minitest (~> 5.1) minitest (~> 5.1)
tzinfo (~> 1.1) tzinfo (~> 1.1)
zeitwerk (~> 2.1, >= 2.1.8) zeitwerk (~> 2.2)
addressable (2.5.2) addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0) public_suffix (>= 2.0.2, < 4.0)
annotate (2.7.5) annotate (2.7.5)
@ -119,7 +119,7 @@ GEM
jquery-rails (>= 1.0.17) jquery-rails (>= 1.0.17)
railties (>= 3.1) railties (>= 3.1)
ember-source (2.18.2) ember-source (2.18.2)
erubi (1.8.0) erubi (1.9.0)
excon (0.64.0) excon (0.64.0)
execjs (2.7.0) execjs (2.7.0)
exifr (1.3.6) exifr (1.3.6)
@ -146,7 +146,7 @@ GEM
hkdf (0.3.0) hkdf (0.3.0)
htmlentities (4.3.4) htmlentities (4.3.4)
http_accept_language (2.0.5) http_accept_language (2.0.5)
i18n (1.6.0) i18n (1.7.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
image_size (1.5.0) image_size (1.5.0)
in_threads (1.5.1) in_threads (1.5.1)
@ -195,7 +195,7 @@ GEM
mini_sql (0.2.2) mini_sql (0.2.2)
mini_suffix (0.3.0) mini_suffix (0.3.0)
ffi (~> 1.9) ffi (~> 1.9)
minitest (5.11.3) minitest (5.13.0)
mocha (1.8.0) mocha (1.8.0)
metaclass (~> 0.0.1) metaclass (~> 0.0.1)
mock_redis (0.19.0) mock_redis (0.19.0)
@ -204,7 +204,7 @@ GEM
multi_xml (0.6.0) multi_xml (0.6.0)
multipart-post (2.1.1) multipart-post (2.1.1)
mustache (1.1.0) mustache (1.1.0)
nokogiri (1.10.4) nokogiri (1.10.5)
mini_portile2 (~> 2.4.0) mini_portile2 (~> 2.4.0)
nokogumbo (2.0.1) nokogumbo (2.0.1)
nokogiri (~> 1.8, >= 1.8.4) nokogiri (~> 1.8, >= 1.8.4)
@ -283,14 +283,14 @@ GEM
rails-dom-testing (2.0.3) rails-dom-testing (2.0.3)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
nokogiri (>= 1.6) nokogiri (>= 1.6)
rails-html-sanitizer (1.2.0) rails-html-sanitizer (1.3.0)
loofah (~> 2.2, >= 2.2.2) loofah (~> 2.3)
rails_multisite (2.0.7) rails_multisite (2.0.7)
activerecord (> 4.2, < 7) activerecord (> 4.2, < 7)
railties (> 4.2, < 7) railties (> 4.2, < 7)
railties (6.0.0) railties (6.0.1)
actionpack (= 6.0.0) actionpack (= 6.0.1)
activesupport (= 6.0.0) activesupport (= 6.0.1)
method_source method_source
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.20.3, < 2.0) thor (>= 0.20.3, < 2.0)
@ -418,20 +418,20 @@ GEM
hkdf (~> 0.2) hkdf (~> 0.2)
jwt (~> 2.0) jwt (~> 2.0)
yaml-lint (0.0.10) yaml-lint (0.0.10)
zeitwerk (2.1.10) zeitwerk (2.2.1)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
actionmailer (= 6.0.0) actionmailer (= 6.0.1)
actionpack (= 6.0.0) actionpack (= 6.0.1)
actionview (= 6.0.0) actionview (= 6.0.1)
actionview_precompiler actionview_precompiler
active_model_serializers (~> 0.8.3) active_model_serializers (~> 0.8.3)
activemodel (= 6.0.0) activemodel (= 6.0.1)
activerecord (= 6.0.0) activerecord (= 6.0.1)
activesupport (= 6.0.0) activesupport (= 6.0.1)
annotate annotate
aws-sdk-s3 aws-sdk-s3
aws-sdk-sns aws-sdk-sns
@ -508,7 +508,7 @@ DEPENDENCIES
rack-mini-profiler rack-mini-profiler
rack-protection rack-protection
rails_multisite rails_multisite
railties (= 6.0.0) railties (= 6.0.1)
rake rake
rb-fsevent rb-fsevent
rb-inotify (~> 0.9) rb-inotify (~> 0.9)

View file

@ -1,57 +0,0 @@
# frozen_string_literal: true
# see: https://github.com/rails/rails/pull/36949#issuecomment-530698779
#
# Without this patch each time we close a DB connection we spin a thread
module ::ActiveRecord
module ConnectionAdapters
class AbstractAdapter
class StaticThreadLocalVar
attr_reader :value
def initialize(value)
@value = value
end
def bind(value)
raise "attempting to change immutable local var" if value != @value
if block_given?
yield
end
end
end
# we have no choice but to perform an aggressive patch here
# if we simply hook the method we will still call a finalizer
# on Concurrent::ThreadLocalVar
def initialize(connection, logger = nil, config = {}) # :nodoc:
super()
@connection = connection
@owner = nil
@instrumenter = ActiveSupport::Notifications.instrumenter
@logger = logger
@config = config
@pool = ActiveRecord::ConnectionAdapters::NullPool.new
@idle_since = Concurrent.monotonic_time
@visitor = arel_visitor
@statements = build_statement_pool
@lock = ActiveSupport::Concurrency::LoadInterlockAwareMonitor.new
if self.class.type_cast_config_to_boolean(config.fetch(:prepared_statements) { true })
@prepared_statement_status = Concurrent::ThreadLocalVar.new(true)
@visitor.extend(DetermineIfPreparableVisitor)
else
#@prepared_statement_status = Concurrent::ThreadLocalVar.new(false)
@prepared_statement_status = StaticThreadLocalVar.new(false)
end
@advisory_locks_enabled = self.class.type_cast_config_to_boolean(
config.fetch(:advisory_locks, true)
)
end
end
end
end