New Upstream Release - ruby-gettext-i18n-rails

Ready changes

Summary

Merged new upstream version: 1.10.1 (was: 1.9.0).

Resulting package

Built on 2023-05-20T23:20 (took 4m38s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-releases ruby-gettext-i18n-rails

Lintian Result

Diff

diff --git a/debian/changelog b/debian/changelog
index 454cd6a..c1bed9b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-ruby-gettext-i18n-rails (1.8.0-2) UNRELEASED; urgency=medium
+ruby-gettext-i18n-rails (1.10.1-1) UNRELEASED; urgency=medium
 
   [ Utkarsh Gupta ]
   * Add salsa-ci.yml
@@ -17,8 +17,10 @@ ruby-gettext-i18n-rails (1.8.0-2) UNRELEASED; urgency=medium
     + Build-Depends: Drop versioned constraint on ruby-fast-gettext.
     + ruby-gettext-i18n-rails: Drop versioned constraint on ruby-fast-gettext in
       Depends.
+  * New upstream release.
+  * New upstream release.
 
- -- Utkarsh Gupta <guptautkarsh2102@gmail.com>  Tue, 13 Aug 2019 05:13:35 +0530
+ -- Utkarsh Gupta <guptautkarsh2102@gmail.com>  Sat, 20 May 2023 23:16:39 -0000
 
 ruby-gettext-i18n-rails (1.8.0-1) unstable; urgency=medium
 
diff --git a/gettext_i18n_rails.gemspec b/gettext_i18n_rails.gemspec
index 64493de..c17a056 100644
--- a/gettext_i18n_rails.gemspec
+++ b/gettext_i18n_rails.gemspec
@@ -2,65 +2,53 @@
 # This file has been automatically generated by gem2tgz #
 #########################################################
 # -*- encoding: utf-8 -*-
+# stub: gettext_i18n_rails 1.10.1 ruby lib
 
 Gem::Specification.new do |s|
-  s.name = "gettext_i18n_rails"
-  s.version = "1.8.0"
+  s.name = "gettext_i18n_rails".freeze
+  s.version = "1.10.1"
 
-  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
-  s.authors = ["Michael Grosser"]
-  s.date = "2016-08-11"
-  s.email = "michael@grosser.it"
-  s.files = ["MIT-LICENSE.txt", "lib/gettext_i18n_rails.rb", "lib/gettext_i18n_rails/action_controller.rb", "lib/gettext_i18n_rails/active_model.rb", "lib/gettext_i18n_rails/active_model/name.rb", "lib/gettext_i18n_rails/active_model/translation.rb", "lib/gettext_i18n_rails/active_record.rb", "lib/gettext_i18n_rails/backend.rb", "lib/gettext_i18n_rails/base_parser.rb", "lib/gettext_i18n_rails/gettext_hooks.rb", "lib/gettext_i18n_rails/haml_parser.rb", "lib/gettext_i18n_rails/html_safe_translations.rb", "lib/gettext_i18n_rails/i18n_hacks.rb", "lib/gettext_i18n_rails/model_attributes_finder.rb", "lib/gettext_i18n_rails/railtie.rb", "lib/gettext_i18n_rails/ruby_gettext_extractor.rb", "lib/gettext_i18n_rails/slim_parser.rb", "lib/gettext_i18n_rails/string_interpolate_fix.rb", "lib/gettext_i18n_rails/tasks.rb", "lib/gettext_i18n_rails/version.rb", "lib/tasks/gettext_rails_i18n.rake"]
-  s.homepage = "http://github.com/grosser/gettext_i18n_rails"
-  s.licenses = ["MIT"]
-  s.require_paths = ["lib"]
-  s.required_ruby_version = Gem::Requirement.new(">= 2.1.0")
-  s.rubygems_version = "1.8.23"
-  s.summary = "Simple FastGettext Rails integration."
+  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
+  s.require_paths = ["lib".freeze]
+  s.authors = ["Michael Grosser".freeze]
+  s.date = "2023-04-26"
+  s.email = "michael@grosser.it".freeze
+  s.files = ["MIT-LICENSE.txt".freeze, "lib/gettext_i18n_rails.rb".freeze, "lib/gettext_i18n_rails/action_controller.rb".freeze, "lib/gettext_i18n_rails/active_model.rb".freeze, "lib/gettext_i18n_rails/active_model/name.rb".freeze, "lib/gettext_i18n_rails/active_model/translation.rb".freeze, "lib/gettext_i18n_rails/active_record.rb".freeze, "lib/gettext_i18n_rails/backend.rb".freeze, "lib/gettext_i18n_rails/base_parser.rb".freeze, "lib/gettext_i18n_rails/gettext_hooks.rb".freeze, "lib/gettext_i18n_rails/haml_parser.rb".freeze, "lib/gettext_i18n_rails/html_safe_translations.rb".freeze, "lib/gettext_i18n_rails/i18n_hacks.rb".freeze, "lib/gettext_i18n_rails/model_attributes_finder.rb".freeze, "lib/gettext_i18n_rails/railtie.rb".freeze, "lib/gettext_i18n_rails/ruby_gettext_extractor.rb".freeze, "lib/gettext_i18n_rails/slim_parser.rb".freeze, "lib/gettext_i18n_rails/string_interpolate_fix.rb".freeze, "lib/gettext_i18n_rails/tasks.rb".freeze, "lib/gettext_i18n_rails/version.rb".freeze, "lib/tasks/gettext_rails_i18n.rake".freeze]
+  s.homepage = "http://github.com/grosser/gettext_i18n_rails".freeze
+  s.licenses = ["MIT".freeze]
+  s.required_ruby_version = Gem::Requirement.new(">= 2.1.0".freeze)
+  s.rubygems_version = "3.2.5".freeze
+  s.summary = "Simple FastGettext Rails integration.".freeze
 
   if s.respond_to? :specification_version then
     s.specification_version = 4
+  end
 
-    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
-      s.add_development_dependency(%q<bump>, [">= 0"])
-      s.add_runtime_dependency(%q<fast_gettext>, [">= 0.9.0"])
-      s.add_development_dependency(%q<gettext>, [">= 3.0.2"])
-      s.add_development_dependency(%q<haml>, [">= 0"])
-      s.add_development_dependency(%q<rails>, [">= 0"])
-      s.add_development_dependency(%q<rake>, [">= 0"])
-      s.add_development_dependency(%q<rspec>, [">= 0"])
-      s.add_development_dependency(%q<ruby_parser>, [">= 3.7.1"])
-      s.add_development_dependency(%q<sexp_processor>, [">= 0"])
-      s.add_development_dependency(%q<slim>, [">= 0"])
-      s.add_development_dependency(%q<sqlite3>, [">= 0"])
-      s.add_development_dependency(%q<wwtd>, [">= 0"])
-    else
-      s.add_dependency(%q<bump>, [">= 0"])
-      s.add_dependency(%q<fast_gettext>, [">= 0.9.0"])
-      s.add_dependency(%q<gettext>, [">= 3.0.2"])
-      s.add_dependency(%q<haml>, [">= 0"])
-      s.add_dependency(%q<rails>, [">= 0"])
-      s.add_dependency(%q<rake>, [">= 0"])
-      s.add_dependency(%q<rspec>, [">= 0"])
-      s.add_dependency(%q<ruby_parser>, [">= 3.7.1"])
-      s.add_dependency(%q<sexp_processor>, [">= 0"])
-      s.add_dependency(%q<slim>, [">= 0"])
-      s.add_dependency(%q<sqlite3>, [">= 0"])
-      s.add_dependency(%q<wwtd>, [">= 0"])
-    end
+  if s.respond_to? :add_runtime_dependency then
+    s.add_development_dependency(%q<bump>.freeze, [">= 0"])
+    s.add_runtime_dependency(%q<fast_gettext>.freeze, [">= 0.9.0"])
+    s.add_development_dependency(%q<gettext>.freeze, [">= 3.0.2"])
+    s.add_development_dependency(%q<haml>.freeze, [">= 0"])
+    s.add_development_dependency(%q<hamlit>.freeze, [">= 0"])
+    s.add_development_dependency(%q<rails>.freeze, [">= 0"])
+    s.add_development_dependency(%q<rake>.freeze, [">= 0"])
+    s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
+    s.add_development_dependency(%q<ruby_parser>.freeze, [">= 3.7.1"])
+    s.add_development_dependency(%q<sexp_processor>.freeze, [">= 0"])
+    s.add_development_dependency(%q<slim>.freeze, [">= 0"])
+    s.add_development_dependency(%q<sqlite3>.freeze, [">= 0"])
   else
-    s.add_dependency(%q<bump>, [">= 0"])
-    s.add_dependency(%q<fast_gettext>, [">= 0.9.0"])
-    s.add_dependency(%q<gettext>, [">= 3.0.2"])
-    s.add_dependency(%q<haml>, [">= 0"])
-    s.add_dependency(%q<rails>, [">= 0"])
-    s.add_dependency(%q<rake>, [">= 0"])
-    s.add_dependency(%q<rspec>, [">= 0"])
-    s.add_dependency(%q<ruby_parser>, [">= 3.7.1"])
-    s.add_dependency(%q<sexp_processor>, [">= 0"])
-    s.add_dependency(%q<slim>, [">= 0"])
-    s.add_dependency(%q<sqlite3>, [">= 0"])
-    s.add_dependency(%q<wwtd>, [">= 0"])
+    s.add_dependency(%q<bump>.freeze, [">= 0"])
+    s.add_dependency(%q<fast_gettext>.freeze, [">= 0.9.0"])
+    s.add_dependency(%q<gettext>.freeze, [">= 3.0.2"])
+    s.add_dependency(%q<haml>.freeze, [">= 0"])
+    s.add_dependency(%q<hamlit>.freeze, [">= 0"])
+    s.add_dependency(%q<rails>.freeze, [">= 0"])
+    s.add_dependency(%q<rake>.freeze, [">= 0"])
+    s.add_dependency(%q<rspec>.freeze, [">= 0"])
+    s.add_dependency(%q<ruby_parser>.freeze, [">= 3.7.1"])
+    s.add_dependency(%q<sexp_processor>.freeze, [">= 0"])
+    s.add_dependency(%q<slim>.freeze, [">= 0"])
+    s.add_dependency(%q<sqlite3>.freeze, [">= 0"])
   end
 end
diff --git a/lib/gettext_i18n_rails/action_controller.rb b/lib/gettext_i18n_rails/action_controller.rb
index 99115c4..c1eb889 100644
--- a/lib/gettext_i18n_rails/action_controller.rb
+++ b/lib/gettext_i18n_rails/action_controller.rb
@@ -1,8 +1,19 @@
-class ActionController::Base
-  def set_gettext_locale
-    requested_locale = params[:locale] || session[:locale] || cookies[:locale] ||  request.env['HTTP_ACCEPT_LANGUAGE'] || I18n.default_locale
-    locale = FastGettext.set_locale(requested_locale)
-    session[:locale] = locale
-    I18n.locale = locale # some weird overwriting in action-controller makes this necessary ... see I18nProxy
+# Autoloading in initializers is deprecated on rails 6.0.  This delays initialization using the on_load
+# hooks, but does not change behaviour for existing rails versions.
+path_controller = ->() {
+  class ::ActionController::Base
+    def set_gettext_locale
+      requested_locale = params[:locale] || session[:locale] || cookies[:locale] ||  request.env['HTTP_ACCEPT_LANGUAGE'] || I18n.default_locale
+      locale = FastGettext.set_locale(requested_locale)
+      session[:locale] = locale
+      I18n.locale = locale # some weird overwriting in action-controller makes this necessary ... see I18nProxy
+    end
   end
-end
+}
+if defined?(Rails) && Rails::VERSION::MAJOR >= 6
+  ActiveSupport.on_load(:action_controller_base) do
+    path_controller.call
+  end
+else
+  path_controller.call
+end
\ No newline at end of file
diff --git a/lib/gettext_i18n_rails/active_model/translation.rb b/lib/gettext_i18n_rails/active_model/translation.rb
index 08704f3..4a518df 100644
--- a/lib/gettext_i18n_rails/active_model/translation.rb
+++ b/lib/gettext_i18n_rails/active_model/translation.rb
@@ -7,7 +7,7 @@ module ActiveModel
 
     def gettext_translation_for_attribute_name(attribute)
       attribute = attribute.to_s
-      if attribute.ends_with?('_id')
+      if attribute.end_with?('_id')
         humanize_class_name(attribute)
       else
         "#{inheritance_tree_root(self)}|#{attribute.split('.').map! {|a| a.humanize }.join('|')}"
diff --git a/lib/gettext_i18n_rails/backend.rb b/lib/gettext_i18n_rails/backend.rb
index 7e7e8c4..601f2ac 100644
--- a/lib/gettext_i18n_rails/backend.rb
+++ b/lib/gettext_i18n_rails/backend.rb
@@ -16,13 +16,20 @@ module GettextI18nRails
     end
 
     def translate(locale, key, options)
-      if gettext_key = gettext_key(key, options)
-        translation =
-          plural_translate(gettext_key, options) || FastGettext._(gettext_key)
-        interpolate(translation, options)
-      else
-        result = backend.translate(locale, key, options)
-        (RUBY19 and result.is_a?(String)) ? result.force_encoding("UTF-8") : result
+      I18n.with_locale(locale) do
+        if gettext_key = gettext_key(key, options)
+          translation =
+            plural_translate(gettext_key, options) || FastGettext._(gettext_key)
+          interpolate(translation, options)
+        else
+          result = backend.translate(locale, key, options)
+          if RUBY19 && result.is_a?(String)
+           result = result.dup if result.frozen?
+           result.force_encoding("UTF-8")
+          else
+            result
+          end
+        end
       end
     end
 
diff --git a/lib/gettext_i18n_rails/haml_parser.rb b/lib/gettext_i18n_rails/haml_parser.rb
index 750216f..d492a83 100644
--- a/lib/gettext_i18n_rails/haml_parser.rb
+++ b/lib/gettext_i18n_rails/haml_parser.rb
@@ -9,7 +9,11 @@ module GettextI18nRails
     def self.convert_to_code(text)
       case @library_loaded
       when "haml"
-        Haml::Engine.new(text).precompiled()
+        if Haml::VERSION.split('.').first.to_i <= 5
+          Haml::Engine.new(text).precompiled()
+        else
+          Haml::Engine.new.call(text)
+        end
       when "hamlit"
         Hamlit::Engine.new.call(text)
       end
diff --git a/lib/gettext_i18n_rails/version.rb b/lib/gettext_i18n_rails/version.rb
index acd941e..71f7bf9 100644
--- a/lib/gettext_i18n_rails/version.rb
+++ b/lib/gettext_i18n_rails/version.rb
@@ -1,3 +1,3 @@
 module GettextI18nRails
-  Version = VERSION = '1.8.0'
+  Version = VERSION = '1.10.1'
 end

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/share/rubygems-integration/all/specifications/gettext_i18n_rails-1.10.1.gemspec

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/share/rubygems-integration/all/specifications/gettext_i18n_rails-1.8.0.gemspec

No differences were encountered in the control files

More details

Full run details