Hello community, here is the log from the commit of package rubygem-i18n for openSUSE:Factory checked in at 2019-11-13 13:26:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-i18n (Old) and /work/SRC/openSUSE:Factory/.rubygem-i18n.new.2990 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-i18n" Wed Nov 13 13:26:33 2019 rev:25 rq:747771 version:1.7.0 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-i18n/rubygem-i18n.changes 2019-03-27 16:18:27.675566551 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-i18n.new.2990/rubygem-i18n.changes 2019-11-13 13:26:35.743589412 +0100 @@ -1,0 +2,7 @@ +Tue Nov 12 15:27:56 UTC 2019 - Manuel Schnitzer <mschnit...@suse.com> + +- updated to version 1.7.0 + + * no changelog found + +------------------------------------------------------------------- Old: ---- i18n-1.6.0.gem New: ---- i18n-1.7.0.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-i18n.spec ++++++ --- /var/tmp/diff_new_pack.qaoLlr/_old 2019-11-13 13:26:36.299589991 +0100 +++ /var/tmp/diff_new_pack.qaoLlr/_new 2019-11-13 13:26:36.299589991 +0100 @@ -24,7 +24,7 @@ # Name: rubygem-i18n -Version: 1.6.0 +Version: 1.7.0 Release: 0 %define mod_name i18n %define mod_full_name %{mod_name}-%{version} @@ -32,7 +32,7 @@ BuildRequires: %{ruby >= 2.3.0} BuildRequires: %{rubygem gem2rpm} BuildRequires: ruby-macros >= 5 -Url: http://github.com/ruby-i18n/i18n +Url: https://github.com/ruby-i18n/i18n Source: https://rubygems.org/gems/%{mod_full_name}.gem Source1: gem2rpm.yml Summary: New wave Internationalization support for Ruby ++++++ i18n-1.6.0.gem -> i18n-1.7.0.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2019-03-03 22:08:16.000000000 +0100 +++ new/README.md 2019-10-04 08:07:14.000000000 +0200 @@ -95,7 +95,7 @@ The reason for this is that we need to enforce the I18n API across various combinations of extensions. E.g. the Simple backend alone needs to support the same API as any combination of feature and/or optimization modules included -to the Simple backend. We test this by reusing the same API defition (implemented +to the Simple backend. We test this by reusing the same API definition (implemented as test methods) in test cases with different setups. You can find the test cases that enforce the API in test/api. And you can find Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/backend/base.rb new/lib/i18n/backend/base.rb --- old/lib/i18n/backend/base.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/backend/base.rb 2019-10-04 08:07:14.000000000 +0200 @@ -81,7 +81,7 @@ key = format type = object.respond_to?(:sec) ? 'time' : 'date' options = options.merge(:raise => true, :object => object, :locale => locale) - format = I18n.t(:"#{type}.formats.#{key}", options) + format = I18n.t(:"#{type}.formats.#{key}", **options) end format = translate_localization_format(locale, object, format, options) @@ -122,7 +122,7 @@ # first translation that can be resolved. Otherwise it tries to resolve # the translation directly. def default(locale, object, subject, options = EMPTY_HASH) - options = options.dup.reject { |key, value| key == :default } + options = options.reject { |key, value| key == :default } case subject when Array subject.each do |item| @@ -143,7 +143,7 @@ result = catch(:exception) do case subject when Symbol - I18n.translate(subject, options.merge(:locale => locale, :throw => true)) + I18n.translate(subject, **options.merge(:locale => locale, :throw => true)) when Proc date_or_time = options.delete(:object) || object resolve(locale, object, subject.call(date_or_time, options)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/backend/chain.rb new/lib/i18n/backend/chain.rb --- old/lib/i18n/backend/chain.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/backend/chain.rb 2019-10-04 08:07:14.000000000 +0200 @@ -96,9 +96,13 @@ end def translations - backends.first.instance_eval do - init_translations unless initialized? - translations + backends.reverse.each_with_object({}) do |backend, memo| + partial_translations = backend.instance_eval do + init_translations unless initialized? + translations + end + + memo.deep_merge!(partial_translations) end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/backend/simple.rb new/lib/i18n/backend/simple.rb --- old/lib/i18n/backend/simple.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/backend/simple.rb 2019-10-04 08:07:14.000000000 +0200 @@ -21,8 +21,6 @@ class Simple using I18n::HashRefinements - (class << self; self; end).class_eval { public :include } - module Implementation include Base diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/gettext/helpers.rb new/lib/i18n/gettext/helpers.rb --- old/lib/i18n/gettext/helpers.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/gettext/helpers.rb 2019-10-04 08:07:14.000000000 +0200 @@ -19,7 +19,7 @@ end def gettext(msgid, options = EMPTY_HASH) - I18n.t(msgid, { :default => msgid, :separator => '|' }.merge(options)) + I18n.t(msgid, **{:default => msgid, :separator => '|'}.merge(options)) end alias _ gettext diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/interpolate/ruby.rb new/lib/i18n/interpolate/ruby.rb --- old/lib/i18n/interpolate/ruby.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/interpolate/ruby.rb 2019-10-04 08:07:14.000000000 +0200 @@ -4,7 +4,7 @@ module I18n DEFAULT_INTERPOLATION_PATTERNS = [ /%%/, - /%\{(\w+)\}/, # matches placeholders like "%{foo}" + /%\{([\w|]+)\}/, # matches placeholders like "%{foo} or %{foo|word}" /%<(\w+)>(.*?\d*\.?\d*[bBdiouxXeEfgGcps])/ # matches placeholders like "%<foo>.d" ].freeze INTERPOLATION_PATTERN = Regexp.union(DEFAULT_INTERPOLATION_PATTERNS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/locale/fallbacks.rb new/lib/i18n/locale/fallbacks.rb --- old/lib/i18n/locale/fallbacks.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/locale/fallbacks.rb 2019-10-04 08:07:14.000000000 +0200 @@ -66,6 +66,7 @@ def [](locale) raise InvalidLocale.new(locale) if locale.nil? + raise Disabled.new('fallback#[]') if locale == false locale = locale.to_sym super || store(locale, compute(locale)) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/tests/interpolation.rb new/lib/i18n/tests/interpolation.rb --- old/lib/i18n/tests/interpolation.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/tests/interpolation.rb 2019-10-04 08:07:14.000000000 +0200 @@ -24,6 +24,10 @@ assert_equal 'Hi David!', interpolate(:default => 'Hi %{name}!', :name => 'David') end + test "interpolation: works with a pipe" do + assert_equal 'Hi david!', interpolate(:default => 'Hi %{name|lowercase}!', :'name|lowercase' => 'david') + end + test "interpolation: given a nil value it still interpolates it into the string" do assert_equal 'Hi !', interpolate(:default => 'Hi %{name}!', :name => nil) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/tests/localization/date.rb new/lib/i18n/tests/localization/date.rb --- old/lib/i18n/tests/localization/date.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/tests/localization/date.rb 2019-10-04 08:07:14.000000000 +0200 @@ -68,9 +68,9 @@ test "localize Date: does not modify the options hash" do options = { :format => '%b', :locale => :de } - assert_equal 'Mär', I18n.l(@date, options) + assert_equal 'Mär', I18n.l(@date, **options) assert_equal({ :format => '%b', :locale => :de }, options) - assert_nothing_raised { I18n.l(@date, options.freeze) } + assert_nothing_raised { I18n.l(@date, **options.freeze) } end test "localize Date: given nil with default value it returns default" do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/tests/localization/procs.rb new/lib/i18n/tests/localization/procs.rb --- old/lib/i18n/tests/localization/procs.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/tests/localization/procs.rb 2019-10-04 08:07:14.000000000 +0200 @@ -59,7 +59,7 @@ setup_time_proc_translations time = ::Time.utc(2008, 3, 1, 6, 0) options = { :foo => 'foo' } - assert_equal I18n::Tests::Localization::Procs.inspect_args([time, options]), I18n.l(time, options.merge(:format => :proc, :locale => :ru)) + assert_equal I18n::Tests::Localization::Procs.inspect_args([time, options]), I18n.l(time, **options.merge(:format => :proc, :locale => :ru)) end protected diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/tests/lookup.rb new/lib/i18n/tests/lookup.rb --- old/lib/i18n/tests/lookup.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/tests/lookup.rb 2019-10-04 08:07:14.000000000 +0200 @@ -43,9 +43,9 @@ test "lookup: does not modify the options hash" do options = {} - assert_equal "a", I18n.t(:string, options) + assert_equal "a", I18n.t(:string, **options) assert_equal({}, options) - assert_nothing_raised { I18n.t(:string, options.freeze) } + assert_nothing_raised { I18n.t(:string, **options.freeze) } end test "lookup: given an array of keys it translates all of them" do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n/version.rb new/lib/i18n/version.rb --- old/lib/i18n/version.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n/version.rb 2019-10-04 08:07:14.000000000 +0200 @@ -1,5 +1,5 @@ # frozen_string_literal: true module I18n - VERSION = "1.6.0" + VERSION = "1.7.0" end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/i18n.rb new/lib/i18n.rb --- old/lib/i18n.rb 2019-03-03 22:08:16.000000000 +0100 +++ new/lib/i18n.rb 2019-10-04 08:07:14.000000000 +0200 @@ -115,7 +115,7 @@ # *PLURALIZATION* # # Translation data can contain pluralized translations. Pluralized translations - # are arrays of singluar/plural versions of translations like <tt>['Foo', 'Foos']</tt>. + # are arrays of singular/plural versions of translations like <tt>['Foo', 'Foos']</tt>. # # Note that <tt>I18n::Backend::Simple</tt> only supports an algorithm for English # pluralization rules. Other algorithms can be supported by custom backends. @@ -173,7 +173,7 @@ # # It is recommended to use/implement lambdas in an "idempotent" way. E.g. when # a cache layer is put in front of I18n.translate it will generate a cache key - # from the argument values passed to #translate. Therefor your lambdas should + # from the argument values passed to #translate. Therefore your lambdas should # always return the same translations/values per unique combination of argument # values. def translate(key = nil, *, throw: false, raise: false, locale: nil, **options) # TODO deprecate :raise @@ -202,7 +202,7 @@ # Wrapper for <tt>translate</tt> that adds <tt>:raise => true</tt>. With # this option, if no translation is found, it will raise <tt>I18n::MissingTranslationData</tt> def translate!(key, options = EMPTY_HASH) - translate(key, options.merge(:raise => true)) + translate(key, **options.merge(:raise => true)) end alias :t! :translate! diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2019-03-03 22:08:16.000000000 +0100 +++ new/metadata 2019-10-04 08:07:14.000000000 +0200 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: i18n version: !ruby/object:Gem::Version - version: 1.6.0 + version: 1.7.0 platform: ruby authors: - Sven Fuchs @@ -13,7 +13,7 @@ autorequire: bindir: bin cert_chain: [] -date: 2019-03-03 00:00:00.000000000 Z +date: 2019-10-04 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: concurrent-ruby @@ -82,7 +82,7 @@ - lib/i18n/tests/pluralization.rb - lib/i18n/tests/procs.rb - lib/i18n/version.rb -homepage: http://github.com/ruby-i18n/i18n +homepage: https://github.com/ruby-i18n/i18n licenses: - MIT metadata: @@ -117,7 +117,7 @@ - !ruby/object:Gem::Version version: 1.3.5 requirements: [] -rubygems_version: 3.0.2 +rubygems_version: 3.0.3 signing_key: specification_version: 4 summary: New wave Internationalization support for Ruby