From 289d38a126b140ab6e5cfaad22dc593f530e9097 Mon Sep 17 00:00:00 2001 From: Domizio Demichelis Date: Fri, 8 May 2020 18:37:18 +0700 Subject: [PATCH] added conditional definition of pagy_t_with_i18n to avoid ruby 2.7 "last argument as keyword parameters" deprecation warning (closes #241) --- lib/pagy/extras/i18n.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/pagy/extras/i18n.rb b/lib/pagy/extras/i18n.rb index 086b1688d..5791a52b3 100644 --- a/lib/pagy/extras/i18n.rb +++ b/lib/pagy/extras/i18n.rb @@ -11,7 +11,14 @@ module Frontend Pagy::I18n.clear.instance_eval { undef :load; undef :t } # unload the pagy default constant for efficiency alias_method :pagy_without_i18n, :pagy_t - def pagy_t_with_i18n(*args) ::I18n.t(*args) end + if Gem::Version.new(::I18n::VERSION) < Gem::Version.new('1.6.0') + def pagy_t_with_i18n(*args) ::I18n.t(*args) end + else + # keep 1.9 compatibility by hiding 2.0+ syntax in string + module_eval <<-RUBY + def pagy_t_with_i18n(key, **opts) ::I18n.t(key, **opts) end + RUBY + end alias_method :pagy_t, :pagy_t_with_i18n end