Hello community,

here is the log from the commit of package rubygem-http_accept_language for 
openSUSE:Factory checked in at 2014-11-18 22:44:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-http_accept_language (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-http_accept_language.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-http_accept_language"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/rubygem-http_accept_language/rubygem-http_accept_language.changes
        2014-10-13 16:12:32.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-http_accept_language.new/rubygem-http_accept_language.changes
   2014-11-18 22:45:01.000000000 +0100
@@ -1,0 +2,5 @@
+Wed Nov 12 05:55:22 UTC 2014 - co...@suse.com
+
+- updated to version 2.0.2, no changelog
+
+-------------------------------------------------------------------

Old:
----
  http_accept_language-2.0.1.gem

New:
----
  http_accept_language-2.0.2.gem

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

Other differences:
------------------
++++++ rubygem-http_accept_language.spec ++++++
--- /var/tmp/diff_new_pack.QoD9Yw/_old  2014-11-18 22:45:02.000000000 +0100
+++ /var/tmp/diff_new_pack.QoD9Yw/_new  2014-11-18 22:45:02.000000000 +0100
@@ -16,8 +16,15 @@
 #
 
 
+#
+# This file was generated with a gem2rpm.yml and not just plain gem2rpm.
+# All sections marked as MANUAL, license headers, summaries and descriptions
+# can be maintained in that file. Please consult this file before editing any
+# of those fields
+#
+
 Name:           rubygem-http_accept_language
-Version:        2.0.1
+Version:        2.0.2
 Release:        0
 %define mod_name http_accept_language
 %define mod_full_name %{mod_name}-%{version}

++++++ http_accept_language-2.0.1.gem -> http_accept_language-2.0.2.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/http_accept_language/parser.rb 
new/lib/http_accept_language/parser.rb
--- old/lib/http_accept_language/parser.rb      1970-01-01 01:00:00.000000000 
+0100
+++ new/lib/http_accept_language/parser.rb      1970-01-01 01:00:00.000000000 
+0100
@@ -1,7 +1,5 @@
 module HttpAcceptLanguage
-
   class Parser
-
     attr_accessor :header
 
     def initialize(header)
@@ -17,20 +15,26 @@
     #   # => [ 'nl-NL', 'nl-BE', 'nl', 'en-US', 'en' ]
     #
     def user_preferred_languages
-      @user_preferred_languages ||= header.gsub(/\s+/, '').split(/,/).collect 
do |l|
-        l += ';q=1.0' unless l =~ /;q=\d+\.\d+$/
-          l.split(';q=')
-      end.sort do |x,y|
-        raise "Not correctly formatted" unless x.first =~ /^[a-z\-0-9]+$/i
-        y.last.to_f <=> x.last.to_f
-      end.collect do |l|
-        l.first.downcase.gsub(/-[a-z0-9]+$/i) { |x| x.upcase }
+      @user_preferred_languages ||= begin
+        header.to_s.gsub(/\s+/, '').split(',').map do |language|
+          locale, quality = language.split(';q=')
+          raise ArgumentError, 'Not correctly formatted' unless locale =~ 
/^[a-z\-0-9]+|\*$/i
+
+          locale  = locale.downcase.gsub(/-[a-z0-9]+$/i, &:upcase) # Uppercase 
territory
+          locale  = nil if locale == '*' # Ignore wildcards
+
+          quality = quality ? quality.to_f : 1.0
+
+          [locale, quality]
+        end.sort do |(_, left), (_, right)|
+          right <=> left
+        end.map(&:first).compact
+      rescue ArgumentError # Just rescue anything if the browser messed up 
badly.
+        []
       end
-    rescue # Just rescue anything if the browser messed up badly.
-      []
     end
 
-    # Sets the user languages preference, overiding the browser
+    # Sets the user languages preference, overriding the browser
     #
     def user_preferred_languages=(languages)
       @user_preferred_languages = languages
@@ -44,7 +48,7 @@
     #   # => 'nl'
     #
     def preferred_language_from(array)
-      (user_preferred_languages & array.collect { |i| i.to_s }).first
+      (user_preferred_languages & array.map(&:to_s)).first
     end
 
     # Returns the first of the user_preferred_languages that is compatible
@@ -55,10 +59,13 @@
     #   request.compatible_language_from I18n.available_locales
     #
     def compatible_language_from(available_languages)
-      user_preferred_languages.map do |x| #en-US
-        available_languages.find do |y| # en
-          y = y.to_s
-          x == y || x.split('-', 2).first == y.split('-', 2).first
+      user_preferred_languages.map do |preferred| #en-US
+        preferred = preferred.downcase
+        preferred_language = preferred.split('-', 2).first
+
+        available_languages.find do |available| # en
+          available = available.to_s.downcase
+          preferred == available || preferred_language == available.split('-', 
2).first
         end
       end.compact.first
     end
@@ -70,12 +77,8 @@
     # [ja_JP-x1, en-US-x4, en_UK-x5, fr-FR-x3] => [ja-JP, en-US, en-UK, fr-FR]
     #
     def sanitize_available_locales(available_languages)
-      available_languages.map do |avail|
-        split_locale = avail.split(/[_-]/)
-
-        split_locale.map do |e|
-          e unless e.start_with?("x")
-        end.compact.join("-")
+      available_languages.map do |available|
+        available.to_s.split(/[_-]/).reject { |part| part.start_with?("x") 
}.join("-")
       end
     end
 
@@ -90,15 +93,16 @@
     #
     def language_region_compatible_from(available_languages)
       available_languages = sanitize_available_locales(available_languages)
-      user_preferred_languages.map do |x| #en-US
-        lang_group = available_languages.select do |y| # en
-          y = y.to_s
-          x.split('-', 2).first == y.split('-', 2).first
+      user_preferred_languages.map do |preferred| #en-US
+        preferred = preferred.downcase
+        preferred_language = preferred.split('-', 2).first
+
+        lang_group = available_languages.select do |available| # en
+          preferred_language == available.downcase.split('-', 2).first
         end
-        lang_group.find{|l| l == x} || lang_group.first #en-US, en-UK
+        
+        lang_group.find { |lang| lang.downcase == preferred } || 
lang_group.first #en-US, en-UK
       end.compact.first
     end
-
   end
-
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/http_accept_language/railtie.rb 
new/lib/http_accept_language/railtie.rb
--- old/lib/http_accept_language/railtie.rb     1970-01-01 01:00:00.000000000 
+0100
+++ new/lib/http_accept_language/railtie.rb     1970-01-01 01:00:00.000000000 
+0100
@@ -11,7 +11,7 @@
 
   module EasyAccess
     def http_accept_language
-      @http_accept_language ||= request.env["http_accept_language.parser"] || 
Parser.new("")
+      @http_accept_language ||= request.env["http_accept_language.parser"] || 
Parser.new(request.env["HTTP_ACCEPT_LANGUAGE"])
     end
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/http_accept_language/version.rb 
new/lib/http_accept_language/version.rb
--- old/lib/http_accept_language/version.rb     1970-01-01 01:00:00.000000000 
+0100
+++ new/lib/http_accept_language/version.rb     1970-01-01 01:00:00.000000000 
+0100
@@ -1,3 +1,3 @@
 module HttpAcceptLanguage
-  VERSION = '2.0.1'
+  VERSION = '2.0.2'
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        1970-01-01 01:00:00.000000000 +0100
+++ new/metadata        1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +1,7 @@
 --- !ruby/object:Gem::Specification
 name: http_accept_language
 version: !ruby/object:Gem::Version
-  version: 2.0.1
+  version: 2.0.2
   prerelease: 
 platform: ruby
 authors:
@@ -9,11 +9,11 @@
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2014-01-23 00:00:00.000000000 Z
+date: 2014-07-31 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: rake
-  requirement: &70170956089980 !ruby/object:Gem::Requirement
+  requirement: &70189984251240 !ruby/object:Gem::Requirement
     none: false
     requirements:
     - - ! '>='
@@ -21,10 +21,10 @@
         version: '0'
   type: :development
   prerelease: false
-  version_requirements: *70170956089980
+  version_requirements: *70189984251240
 - !ruby/object:Gem::Dependency
   name: rspec
-  requirement: &70170956089500 !ruby/object:Gem::Requirement
+  requirement: &70189984250560 !ruby/object:Gem::Requirement
     none: false
     requirements:
     - - ! '>='
@@ -32,10 +32,10 @@
         version: '0'
   type: :development
   prerelease: false
-  version_requirements: *70170956089500
+  version_requirements: *70189984250560
 - !ruby/object:Gem::Dependency
   name: rack-test
-  requirement: &70170956089040 !ruby/object:Gem::Requirement
+  requirement: &70189984250020 !ruby/object:Gem::Requirement
     none: false
     requirements:
     - - ! '>='
@@ -43,10 +43,10 @@
         version: '0'
   type: :development
   prerelease: false
-  version_requirements: *70170956089040
+  version_requirements: *70189984250020
 - !ruby/object:Gem::Dependency
   name: guard-rspec
-  requirement: &70170956088400 !ruby/object:Gem::Requirement
+  requirement: &70189984249400 !ruby/object:Gem::Requirement
     none: false
     requirements:
     - - ! '>='
@@ -54,10 +54,10 @@
         version: '0'
   type: :development
   prerelease: false
-  version_requirements: *70170956088400
+  version_requirements: *70189984249400
 - !ruby/object:Gem::Dependency
   name: rails
-  requirement: &70170956087580 !ruby/object:Gem::Requirement
+  requirement: &70189984248760 !ruby/object:Gem::Requirement
     none: false
     requirements:
     - - ! '>='
@@ -65,10 +65,10 @@
         version: 3.2.6
   type: :development
   prerelease: false
-  version_requirements: *70170956087580
+  version_requirements: *70189984248760
 - !ruby/object:Gem::Dependency
   name: cucumber
-  requirement: &70170956086760 !ruby/object:Gem::Requirement
+  requirement: &70189984248160 !ruby/object:Gem::Requirement
     none: false
     requirements:
     - - ! '>='
@@ -76,10 +76,10 @@
         version: '0'
   type: :development
   prerelease: false
-  version_requirements: *70170956086760
+  version_requirements: *70189984248160
 - !ruby/object:Gem::Dependency
   name: aruba
-  requirement: &70170956102360 !ruby/object:Gem::Requirement
+  requirement: &70189984247480 !ruby/object:Gem::Requirement
     none: false
     requirements:
     - - ! '>='
@@ -87,7 +87,7 @@
         version: '0'
   type: :development
   prerelease: false
-  version_requirements: *70170956102360
+  version_requirements: *70189984247480
 description: Find out which locale the user preferes by reading the languages 
they
   specified in their browser
 email:
@@ -129,7 +129,7 @@
       version: '0'
       segments:
       - 0
-      hash: -678950536422287391
+      hash: 3432813774343238940
 required_rubygems_version: !ruby/object:Gem::Requirement
   none: false
   requirements:
@@ -138,7 +138,7 @@
       version: '0'
       segments:
       - 0
-      hash: -678950536422287391
+      hash: 3432813774343238940
 requirements: []
 rubyforge_project: http_accept_language
 rubygems_version: 1.8.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/parser_spec.rb new/spec/parser_spec.rb
--- old/spec/parser_spec.rb     1970-01-01 01:00:00.000000000 +0100
+++ new/spec/parser_spec.rb     1970-01-01 01:00:00.000000000 +0100
@@ -44,10 +44,19 @@
     parser.compatible_language_from([:"en-HK"]).should eq :"en-HK"
   end
 
+  it "should accept and ignore wildcards" do
+    parser.header = 'en-US,en,*'
+    parser.compatible_language_from([:"en-US"]).should eq :"en-US"
+  end
+
   it "should sanitize available language names" do
     parser.sanitize_available_locales(%w{en_UK-x3 en-US-x1 ja_JP-x2 pt-BR-x5 
es-419-x4}).should eq ["en-UK", "en-US", "ja-JP", "pt-BR", "es-419"]
   end
 
+  it "should accept available language names as symbols and return them as 
strings" do
+    parser.sanitize_available_locales([:en, :"en-US", :ca, :"ca-ES"]).should 
eq ["en", "en-US", "ca", "ca-ES"]
+  end
+
   it "should find most compatible language from user preferred" do
     parser.header = 'ja,en-gb,en-us,fr-fr'
     parser.language_region_compatible_from(%w{en-UK en-US ja-JP}).should eq 
"ja-JP"

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to