From 8b0ed32ff00127a1e87df21b3ee2ee49ca6d34ba Mon Sep 17 00:00:00 2001 From: Jean-Francis Bastien Date: Tue, 6 May 2025 14:11:09 -0400 Subject: [PATCH 1/2] memoization encryptor --- lib/active_record_encrypted_string/type.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/active_record_encrypted_string/type.rb b/lib/active_record_encrypted_string/type.rb index 4e369d2..64a56bb 100644 --- a/lib/active_record_encrypted_string/type.rb +++ b/lib/active_record_encrypted_string/type.rb @@ -36,7 +36,8 @@ def changed_in_place?(raw_old_value, new_value) def encryptor # TODO: rotate - ActiveSupport::MessageEncryptor.new(secret, cipher: ActiveRecordEncryptedString.configuration.cipher_alg) + @encryptor ||= + ActiveSupport::MessageEncryptor.new(secret, cipher: ActiveRecordEncryptedString.configuration.cipher_alg) end def secret From 627efc957fb65c25761a85786c1e8d497dd05d6f Mon Sep 17 00:00:00 2001 From: Jean-Francis Bastien Date: Wed, 21 May 2025 09:34:47 -0400 Subject: [PATCH 2/2] Lock concurrent-ruby https://github.com/rails/rails/issues/54260#issuecomment-2594962172 --- gemfiles/5_0_stable.gemfile | 1 + gemfiles/5_1_stable.gemfile | 1 + gemfiles/5_2_stable.gemfile | 1 + gemfiles/6_0_stable.gemfile | 1 + gemfiles/6_1_stable.gemfile | 1 + gemfiles/7_0_stable.gemfile | 1 + 6 files changed, 6 insertions(+) diff --git a/gemfiles/5_0_stable.gemfile b/gemfiles/5_0_stable.gemfile index 0355dc6..5824520 100644 --- a/gemfiles/5_0_stable.gemfile +++ b/gemfiles/5_0_stable.gemfile @@ -6,5 +6,6 @@ source 'https://rubygems.org' gem 'activerecord', '~> 5.0' gem 'sqlite3', '~> 1.3.6' +gem 'concurrent-ruby', '1.3.4', require: false gemspec path: '../' diff --git a/gemfiles/5_1_stable.gemfile b/gemfiles/5_1_stable.gemfile index 8136a1e..dac824d 100644 --- a/gemfiles/5_1_stable.gemfile +++ b/gemfiles/5_1_stable.gemfile @@ -5,5 +5,6 @@ source 'https://rubygems.org' gem 'activerecord', '~> 5.1' +gem 'concurrent-ruby', '1.3.4', require: false gemspec path: '../' diff --git a/gemfiles/5_2_stable.gemfile b/gemfiles/5_2_stable.gemfile index 0581ddb..0046544 100644 --- a/gemfiles/5_2_stable.gemfile +++ b/gemfiles/5_2_stable.gemfile @@ -5,5 +5,6 @@ source 'https://rubygems.org' gem 'activerecord', '~> 5.2' +gem 'concurrent-ruby', '1.3.4', require: false gemspec path: '../' diff --git a/gemfiles/6_0_stable.gemfile b/gemfiles/6_0_stable.gemfile index 852b24f..5cff700 100644 --- a/gemfiles/6_0_stable.gemfile +++ b/gemfiles/6_0_stable.gemfile @@ -5,5 +5,6 @@ source 'https://rubygems.org' gem 'activerecord', '~> 6.0' +gem 'concurrent-ruby', '1.3.4', require: false gemspec path: '../' diff --git a/gemfiles/6_1_stable.gemfile b/gemfiles/6_1_stable.gemfile index 3e16a96..bd42223 100644 --- a/gemfiles/6_1_stable.gemfile +++ b/gemfiles/6_1_stable.gemfile @@ -5,5 +5,6 @@ source 'https://rubygems.org' gem 'activerecord', '~> 6.1' +gem 'concurrent-ruby', '1.3.4', require: false gemspec path: '../' diff --git a/gemfiles/7_0_stable.gemfile b/gemfiles/7_0_stable.gemfile index cffa6d1..f112bd2 100644 --- a/gemfiles/7_0_stable.gemfile +++ b/gemfiles/7_0_stable.gemfile @@ -5,5 +5,6 @@ source 'https://rubygems.org' gem 'activerecord', '~> 7.0' +gem 'concurrent-ruby', '1.3.4', require: false gemspec path: '../'