Hello community,

here is the log from the commit of package rubygem-gettext-setup for 
openSUSE:Factory checked in at 2019-06-18 14:57:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-gettext-setup (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-gettext-setup.new.4811 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-gettext-setup"

Tue Jun 18 14:57:41 2019 rev:12 rq:709790 version:0.30

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-gettext-setup/rubygem-gettext-setup.changes  
    2017-09-26 21:14:35.029035346 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-gettext-setup.new.4811/rubygem-gettext-setup.changes
    2019-06-18 14:57:51.405348235 +0200
@@ -1,0 +2,12 @@
+Tue Feb 13 05:29:45 UTC 2018 - factory-a...@kulow.org
+
+- updated to version 0.30
+  no changelog found
+
+-------------------------------------------------------------------
+Sun Dec  3 19:17:43 UTC 2017 - co...@suse.com
+
+- updated to version 0.29
+  no changelog found
+
+-------------------------------------------------------------------

Old:
----
  gettext-setup-0.28.gem

New:
----
  gettext-setup-0.30.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-gettext-setup.spec ++++++
--- /var/tmp/diff_new_pack.3Ci7sm/_old  2019-06-18 14:57:53.129347204 +0200
+++ /var/tmp/diff_new_pack.3Ci7sm/_new  2019-06-18 14:57:53.177347175 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-gettext-setup
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-gettext-setup
-Version:        0.28
+Version:        0.30
 Release:        0
 %define mod_name gettext-setup
 %define mod_full_name %{mod_name}-%{version}
@@ -33,7 +33,7 @@
 BuildRequires:  %{rubygem gem2rpm}
 BuildRequires:  ruby-macros >= 5
 Url:            https://github.com/puppetlabs/gettext-setup-gem
-Source:         http://rubygems.org/gems/%{mod_full_name}.gem
+Source:         https://rubygems.org/gems/%{mod_full_name}.gem
 Source1:        gem2rpm.yml
 Summary:        A gem to ease internationalization with fast_gettext
 License:        Apache-2.0

++++++ gettext-setup-0.28.gem -> gettext-setup-0.30.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2017-09-01 23:10:50.000000000 +0200
+++ new/README.md       2018-02-12 19:21:38.000000000 +0100
@@ -1,6 +1,6 @@
 # gettext-setup gem
 
-This is a simple gem to set up i18n for Ruby projects (including 
[Sinatra](www.sinatrarb.com/) web apps) using gettext and fast gettext.
+This is a simple gem to set up i18n for Ruby projects (including 
[Sinatra](http://www.sinatrarb.com/) web apps) using gettext and fast gettext.
 
 This project sets the default locale to English. If the user has set a 
different locale in their browser preferences, and we support the user's 
preferred locale, strings and data formatting will be customized for that 
locale.
 
@@ -16,34 +16,34 @@
 
 ## Setup for your project
 
-These are the poignant bits of this example that you need to replicate in
-your project:
+These are the poignant bits of this example that you need to replicate in your 
project:
 
 1. Add `gem 'gettext-setup'` to your `Gemfile`.
-1. Copy `locales/config-sample.yaml` to your project and put it into a
+2. Copy `locales/config-sample.yaml` to your project and put it into a
 `locales` directory as `config.yaml`.
-1. Edit `locales/config.yaml` and make the necessary changes for your
-   project
-1. Add these three lines to your `Rakefile`, ensuring the `locales`
-   directory is found by the last line:
-```
-    spec = Gem::Specification.find_by_name 'gettext-setup'
-    load "#{spec.gem_dir}/lib/tasks/gettext.rake"
-    GettextSetup.initialize(File.absolute_path('locales', 
File.dirname(__FILE__)))
-```
-1. Add these lines at the start of your app (`app.rb` for server-side, the 
executable binary for CLI applications):
-    `require 'gettext-setup'`
-    `GettextSetup.initialize(File.absolute_path('locales', 
File.dirname(__FILE__)))`
-    (Note that the second line may require modification to find the `locales` 
directory.
-1. For client-side applications, add this line:
-    `GettextSetup.negotiate_locale!(GettextSetup.candidate_locales)`
-1. For server-side applications, add these lines:
-```
-    before do
-      GettextSetup.negotiate_locale!(env["HTTP_ACCEPT_LANGUAGE"])
-    end
-```
-
+3. Edit `locales/config.yaml` and make the necessary changes for your project
+4. Add these three lines to your `Rakefile`, ensuring the `locales` directory 
is found by the last line:
+   ```ruby
+   spec = Gem::Specification.find_by_name 'gettext-setup'
+   load "#{spec.gem_dir}/lib/tasks/gettext.rake"
+   GettextSetup.initialize(File.absolute_path('locales', 
File.dirname(__FILE__)))
+   ```
+5. Add these lines at the start of your app (`app.rb` for server-side, the 
executable binary for CLI applications):
+   ```ruby
+   require 'gettext-setup'
+   GettextSetup.initialize(File.absolute_path('locales', 
File.dirname(__FILE__)))
+   ```
+   Note that the second line may require modification to find the `locales` 
directory.
+6. For client-side applications, add this line:
+   ```ruby
+   GettextSetup.negotiate_locale!(GettextSetup.candidate_locales)
+   ```
+7. For server-side applications, add these lines:
+   ```ruby
+   before do
+       GettextSetup.negotiate_locale!(env["HTTP_ACCEPT_LANGUAGE"])
+   end
+    ```
 ## Writing translatable code
 
 ### Use full sentences
@@ -67,13 +67,16 @@
 
 Pluralization rules vary across languages. The pluralization rules are 
specified in the PO file and look something like this `Plural-Forms: 
nplurals=2; plural=(n > 1);`. This is the pluralization rule for German. It 
means that German has two pluralization rules. The first rule is `plural=n > 
1)` and the second rule is all other counts.
 
-Plurals are selected from the PO file by index. Here's an example of how a
-pluralized string is handled in a PO file:
+Plurals are selected from the PO file by index. 
+
+Here's an example of how a pluralized string is handled in a PO file:
 
-`msgid "%{count} file"
-`msgid_plural "%{count} files"
-`msgstr[0] "%{count} Dateien"
-`msgstr[1] "%{count} Datei"
+```
+msgid "%{count} file"
+msgid_plural "%{count} files"
+msgstr[0] "%{count} Dateien"
+msgstr[1] "%{count} Datei"
+```
 
 The `msgid` is the singular version of the English source string that's pulled 
in to the POT file and PO from the code file.
 
@@ -102,11 +105,11 @@
 
 ## Merge Pot files rake task
 
-The rake task that merges .pot files is present for the internationalisation 
of a module. This task uses 'msgcat', which is only natively present on OSes 
that are GNU based. For running this task locally on another OS you will need 
to download the gettext pkg and install it locally:
+The rake task that merges .pot files is present for the internationalisation 
of a module. This task uses 'msgcat', which is only natively present on OSes 
that are GNU based. For running this task locally on another OS, you will need 
to download the gettext pkg and install it locally:
 https://pkgs.org/download/gettext
 
 This task will run within the gettext setup locales_path provided by 
GettextSetup. The result will be a merged pot file created from all pot files 
kept in this location.
 
-By default the merged pot file is locales_path/project_name.pot. This can be 
overridden when calling the method by providing a chosen path.
+By default, the merged pot file is locales_path/project_name.pot. This can be 
overridden when calling the method by providing a chosen path.
 
 Please note: Since the default merged file name is project_name.pot, it will 
override anything of that name within the locales directory.
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/gettext-setup/gettext_setup.rb 
new/lib/gettext-setup/gettext_setup.rb
--- old/lib/gettext-setup/gettext_setup.rb      2017-09-01 23:10:50.000000000 
+0200
+++ new/lib/gettext-setup/gettext_setup.rb      2018-02-12 19:21:38.000000000 
+0100
@@ -1,5 +1,3 @@
-# -*- encoding: utf-8 -*-
-
 require 'fast_gettext'
 require 'yaml'
 require 'locale'
@@ -13,7 +11,6 @@
 
   @config = nil
   @translation_repositories = {}
-  FastGettext.default_available_locales = []
 
   # `locales_path` should include:
   # - config.yaml
@@ -23,11 +20,7 @@
   # valid `options` fields:
   # :file_format - one of the supported backends for fast_gettext (e.g. :po, 
:mo, :yaml, etc.)
   def self.initialize(locales_path = 'locales', options = {})
-    config_path = File.absolute_path('config.yaml', locales_path)
-    File.exist?(config_path) || raise(NoConfigFoundError, config_path)
-
-    @config = YAML.load_file(config_path)['gettext']
-    @locales_path = locales_path
+    GettextSetup.initialize_config(locales_path)
 
     # Make the translation methods available everywhere
     Object.send(:include, FastGettext::Translation)
@@ -42,13 +35,27 @@
     FastGettext.add_text_domain('master_domain', type: :chain, chain: 
@translation_repositories.values)
     FastGettext.default_text_domain = 'master_domain'
 
-    # Likewise, be explicit in our default language choice.
+    # Likewise, be explicit in our default language choice. Available locales
+    # must be set prior to setting the default_locale since default locale must
+    # available.
+    FastGettext.default_available_locales = 
(FastGettext.default_available_locales || []) | locales
     FastGettext.default_locale = default_locale
-    FastGettext.default_available_locales = 
FastGettext.default_available_locales | locales
 
     Locale.set_default(default_locale)
   end
 
+  # Sets up the config class variables.
+  #
+  # Call this without calling initialize when you only need to deal with the
+  # translation files and you don't need runtime translation.
+  def self.initialize_config(locales_path = 'locales')
+    config_path = File.absolute_path('config.yaml', locales_path)
+    File.exist?(config_path) || raise(NoConfigFoundError, config_path)
+
+    @config = YAML.load_file(config_path)['gettext']
+    @locales_path = locales_path
+  end
+
   def self.config?
     raise NoConfigFoundError, File.join(locales_path, 'config.yaml') unless 
@config
     @config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/gettext-setup/metadata_pot.rb 
new/lib/gettext-setup/metadata_pot.rb
--- old/lib/gettext-setup/metadata_pot.rb       2017-09-01 23:10:50.000000000 
+0200
+++ new/lib/gettext-setup/metadata_pot.rb       2018-02-12 19:21:38.000000000 
+0100
@@ -1,5 +1,3 @@
-# -*- encoding: utf-8 -*-
-
 require 'erb'
 require 'json'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/gettext-setup/pot.rb new/lib/gettext-setup/pot.rb
--- old/lib/gettext-setup/pot.rb        2017-09-01 23:10:50.000000000 +0200
+++ new/lib/gettext-setup/pot.rb        2018-02-12 19:21:38.000000000 +0100
@@ -1,7 +1,6 @@
-# -*- encoding: utf-8 -*-
-
 require 'open3'
 require 'English'
+require 'tempfile'
 
 module GettextSetup
   module Pot
@@ -54,10 +53,18 @@
     #   The directory for the locales.
     # @param [:target_path] opts
     #   The output path for the new POT file.
+    # @param [:header_only] opts
+    #   Set to true to create a .pot file with only a header
     def self.generate_new_pot(opts = {})
       locales_path = opts[:locales_path] || GettextSetup.locales_path
-      GettextSetup.initialize(locales_path)
+      GettextSetup.initialize_config(locales_path)
       target_path = opts[:target_path] || pot_file_path
+      input_files = if opts[:header_only]
+                      tmpfile = Tempfile.new('gettext-setup.tmp')
+                      tmpfile.path
+                    else
+                      files_to_translate.join(' ')
+                    end
       config = GettextSetup.config
       package_name = config['package_name']
       bugs_address = config['bugs_address']
@@ -69,14 +76,15 @@
              "--add-comments#{comments_tag.to_s == '' ? '' : '=' + 
comments_tag} --msgid-bugs-address '#{bugs_address}' " \
              "--package-name '#{package_name}' " \
              "--package-version '#{version}' " \
-             "--copyright-holder='#{copyright_holder}' 
--copyright-year=#{Time.now.year} " +
-             files_to_translate.join(' '))
+             "--copyright-holder='#{copyright_holder}' 
--copyright-year=#{Time.now.year} " \
+             "#{input_files}")
+      tmpfile.unlink if tmpfile
       $CHILD_STATUS.success?
     end
 
     def self.generate_new_po(language, locales_path = 
GettextSetup.locales_path,
                              pot_file = nil, po_file = nil)
-      GettextSetup.initialize(locales_path)
+      GettextSetup.initialize_config(locales_path)
       language ||= ENV['LANGUAGE']
       pot_file ||= GettextSetup::Pot.pot_file_path
       po_file ||= GettextSetup::Pot.po_file_path(language)
@@ -116,7 +124,7 @@
     end
 
     def self.update_pot(locales_path = GettextSetup.locales_path, path = nil)
-      GettextSetup.initialize(locales_path)
+      GettextSetup.initialize_config(locales_path)
       path ||= pot_file_path
 
       if !File.exist? path
@@ -147,7 +155,7 @@
     #   The directory for the locales.
     def self.merge(opts = {})
       locales_path = opts[:locales_path] || GettextSetup.locales_path
-      GettextSetup.initialize(locales_path)
+      GettextSetup.initialize_config(locales_path)
       target_filename = GettextSetup.config['project_name'] + '.pot'
       target_path = File.expand_path(target_filename, locales_path)
       oldpot_dir = File.expand_path('oldpot', locales_path)
@@ -156,9 +164,9 @@
       if File.exist? target_path
         FileUtils.mkdir_p(oldpot_dir)
         begin
-          FileUtils.mv(target_path, oldpot_path)
-        rescue
-          raise "There was a problem creating .pot backup #{oldpot_path}, 
merge failed."
+          FileUtils.cp(target_path, oldpot_path)
+        rescue Errno::ENOENT => e
+          raise "There was a problem creating .pot backup #{oldpot_path}, 
merge failed: #{e.message}"
         end
         puts "Warning - #{target_filename} already exists and will be 
relocated to oldpot/old_#{target_filename}."
       end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/tasks/gettext.rake new/lib/tasks/gettext.rake
--- old/lib/tasks/gettext.rake  2017-09-01 23:10:50.000000000 +0200
+++ new/lib/tasks/gettext.rake  2018-02-12 19:21:38.000000000 +0100
@@ -1,5 +1,3 @@
-# -*- encoding: utf-8 -*-
-
 require_relative '../gettext-setup/gettext_setup'
 require_relative '../gettext-setup/pot'
 require_relative '../gettext-setup/metadata_pot'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2017-09-01 23:10:50.000000000 +0200
+++ new/metadata        2018-02-12 19:21:38.000000000 +0100
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: gettext-setup
 version: !ruby/object:Gem::Version
-  version: '0.28'
+  version: '0.30'
 platform: ruby
 authors:
 - Puppet
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2017-09-01 00:00:00.000000000 Z
+date: 2018-02-12 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: fast_gettext
@@ -137,7 +137,7 @@
       - !ruby/object:Gem::Version
         version: '3.1'
 - !ruby/object:Gem::Dependency
-  name: simplecov
+  name: rubocop
   requirement: !ruby/object:Gem::Requirement
     requirements:
     - - ">="
@@ -151,7 +151,7 @@
       - !ruby/object:Gem::Version
         version: '0'
 - !ruby/object:Gem::Dependency
-  name: rubocop
+  name: simplecov
   requirement: !ruby/object:Gem::Requirement
     requirements:
     - - ">="
@@ -224,7 +224,7 @@
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.5.2
+rubygems_version: 2.5.1
 signing_key: 
 specification_version: 4
 summary: A gem to ease internationalization with fast_gettext
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/lib/gettext-setup/gettext_setup_spec.rb 
new/spec/lib/gettext-setup/gettext_setup_spec.rb
--- old/spec/lib/gettext-setup/gettext_setup_spec.rb    2017-09-01 
23:10:50.000000000 +0200
+++ new/spec/lib/gettext-setup/gettext_setup_spec.rb    2018-02-12 
19:21:38.000000000 +0100
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 require 'rspec/expectations'
 require_relative '../../spec_helper'
 
@@ -11,6 +10,15 @@
   before(:each) do
     GettextSetup.initialize(locales_path)
   end
+  after(:each) do
+    FastGettext.default_text_domain = nil
+    FastGettext.default_available_locales = nil
+    FastGettext.default_locale = nil
+
+    FastGettext.text_domain = nil
+    FastGettext.available_locales = nil
+    FastGettext.locale = nil
+  end
   let(:config) do
     GettextSetup.config
   end
@@ -80,7 +88,7 @@
   end
   context 'multiple locales' do
     # locales/ loads the de locale and fixture_locales/ loads the jp locale
-    before(:all) do
+    before(:each) do
       GettextSetup.initialize(fixture_locales_path)
     end
     it 'can aggregate locales across projects' do
@@ -96,7 +104,7 @@
     end
   end
   context 'translation repository chain' do
-    before(:all) do
+    before(:each) do
       GettextSetup.initialize(fixture_locales_path)
     end
     it 'chain is not nil' do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/lib/gettext-setup/pot_spec.rb 
new/spec/lib/gettext-setup/pot_spec.rb
--- old/spec/lib/gettext-setup/pot_spec.rb      2017-09-01 23:10:50.000000000 
+0200
+++ new/spec/lib/gettext-setup/pot_spec.rb      2018-02-12 19:21:38.000000000 
+0100
@@ -62,6 +62,17 @@
       expect(contents).to match(/Puppet, LLC/)
       expect(contents).to match(/test_strings.rb:1/)
     end
+    it 'builds a POT file with :header_only' do
+      path = File.join(Dir.mktmpdir, 'new.pot')
+      expect do
+        GettextSetup::Pot.generate_new_pot(locales_path: fixture_locales_path, 
target_path: path, header_only: true)
+      end.to output('').to_stdout # STDOUT is determined in `update_pot`
+      contents = File.read(path)
+      expect(contents).to_not match(/Hello, world/)
+      expect(contents).to match(/Fixture locales/)
+      expect(contents).to match(/d...@puppetlabs.com/)
+      expect(contents).to match(/Puppet, LLC/)
+    end
   end
 
   context 'generate_new_po' do
@@ -153,7 +164,7 @@
     before :all do
       { 'ruby' => 'ruby.pot', 'puppet' => 'puppet.pot', 'metadata' => 
'metadata.pot' }.each do |pot_type, pot_name|
         File.open(File.join(merge_locales_path, pot_name), 'w') do |file|
-          file.write <<-EOF
+          file.write <<-POT
   # Copyright (C) 2017 Puppet, Inc.
   # This file is distributed under the same license as the puppetlabs-mysql 
package.
   # FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
@@ -175,7 +186,7 @@
   #: ../lib/puppet/parser/functions/mysql_strip_hash.rb:11
   msgid "this is a #{pot_type} string"
   msgstr ""
-        EOF
+        POT
         end
       end
     end


Reply via email to