DEV: correct some Ruby 2.7 deprecations

DEV: correct some Ruby 2.7 deprecations

There are a few left, especially in gems but this makes some progress

diff --git a/lib/freedom_patches/inflector_backport.rb b/lib/freedom_patches/inflector_backport.rb
index e61f313..67547cd 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 01ac030..fcbe75c 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 f0617c9..c4e2948 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
 

GitHub sha: 906a84d6