From 906a84d66ff8dd2e9b312fa6ee596d30ac2bb709 Mon Sep 17 00:00:00 2001 From: Sam Saffron Date: Thu, 16 Jul 2020 17:43:20 +1000 Subject: [PATCH] DEV: correct some Ruby 2.7 deprecations There are a few left, especially in gems but this makes some progress --- lib/freedom_patches/inflector_backport.rb | 7 ++++++- lib/plugin/instance.rb | 2 +- lib/seed_data/categories.rb | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/freedom_patches/inflector_backport.rb b/lib/freedom_patches/inflector_backport.rb index e61f3135ad..67547cddad 100644 --- a/lib/freedom_patches/inflector_backport.rb +++ b/lib/freedom_patches/inflector_backport.rb @@ -22,7 +22,7 @@ module ActiveSupport uncached = "#{method_name}_without_cache" alias_method uncached, method_name - define_method(method_name) do |*arguments| + m = define_method(method_name) do |*arguments| # this avoids recursive locks found = true data = cache.fetch(arguments) { found = false } @@ -32,6 +32,11 @@ module ActiveSupport # so cache is never corrupted data.dup end + + # https://bugs.ruby-lang.org/issues/16897 + if Module.respond_to?(:ruby2_keywords, true) + ruby2_keywords(m) + end end end diff --git a/lib/plugin/instance.rb b/lib/plugin/instance.rb index 01ac030328..fcbe75c58d 100644 --- a/lib/plugin/instance.rb +++ b/lib/plugin/instance.rb @@ -248,7 +248,7 @@ class Plugin::Instance hidden_method_name = :"#{method_name}_without_enable_check" klass.public_send(:define_method, hidden_method_name, &block) - klass.public_send(callback, options) do |*args| + klass.public_send(callback, **options) do |*args| public_send(hidden_method_name, *args) if plugin.enabled? end diff --git a/lib/seed_data/categories.rb b/lib/seed_data/categories.rb index f0617c9129..c4e2948bba 100644 --- a/lib/seed_data/categories.rb +++ b/lib/seed_data/categories.rb @@ -12,7 +12,7 @@ module SeedData def create(site_setting_names: nil) I18n.with_locale(@locale) do - categories(site_setting_names).each { |params| create_category(params) } + categories(site_setting_names).each { |params| create_category(**params) } end end