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 - [email protected]
+
+- 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: [email protected]
For additional commands, e-mail: [email protected]