http_accept_language 2.0.5 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 08549bc678f764b0ee83c4520257c29165e16cab
4
- data.tar.gz: 840fc4179bd28f157fd4eaf2d5feb4b0da2a2789
3
+ metadata.gz: 64deaf476a87d9192739905f051cd546124d358e
4
+ data.tar.gz: 5afdaecd6f46c4df2240ae700c0bd66bc131eba1
5
5
  SHA512:
6
- metadata.gz: 53ce0048473fcee968b6fca1f832b7422281a0cfabdedacfdab8abb081674049e17c9c04f784e649bc78bc4d93f72a26dc5362d78379367b61e7937e9208358d
7
- data.tar.gz: 2cc635241d1980aee9ef20e6997a6a235c9f674470e5b2c6f2b93a585fb9cd1e360e1fedc072fd1183fb40d5e72f31cc3adc2989f3dbc2e92cf1d12789b70720
6
+ metadata.gz: 077e921e1398f9925a8498c6bf0c77f54b65c8d7cf6082e77613da8f7599c07d732ef3610f965a276a6529c586e659542ba2c16dd28b04d8d42a9abd5df4fcc8
7
+ data.tar.gz: 99a4e05c30bc9102686dc890ac5acd63af862eeecfe679e96514aecdbdc6d7380a328c384eba2f8ecb00c32803cbba62d511e384b1b3b4df70f9629815790a48
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ cache: bundler
3
+ sudo: false
4
+ rvm:
5
+ - 1.9.3
6
+ - 2.0.0
7
+ - 2.1
8
+ - 2.2
9
+ script: bundle exec rspec spec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # HttpAcceptLanguage
1
+ # HttpAcceptLanguage [![Build Status](https://travis-ci.org/iain/http_accept_language.svg?branch=master)](https://travis-ci.org/iain/http_accept_language)
2
2
 
3
3
  A gem which helps you detect the users preferred language, as sent by the "Accept-Language" HTTP header.
4
4
 
@@ -53,6 +53,12 @@ class ApplicationController < ActionController::Base
53
53
  end
54
54
  ```
55
55
 
56
+ Then set available locales in `config/application.rb`:
57
+
58
+ ```ruby
59
+ config.i18n.available_locales = %w(en nl de fr)
60
+ ```
61
+
56
62
  To use the middleware in any Rack application, simply add the middleware:
57
63
 
58
64
  ``` ruby
@@ -11,7 +11,7 @@ module HttpAcceptLanguage
11
11
  private
12
12
 
13
13
  def set_locale
14
- I18n.locale = http_accept_language.compatible_language_from(I18n.available_locales)
14
+ I18n.locale = http_accept_language.compatible_language_from(I18n.available_locales) || I18n.default_locale
15
15
  end
16
16
  end
17
17
  end
@@ -1,3 +1,3 @@
1
1
  module HttpAcceptLanguage
2
- VERSION = '2.0.5'
2
+ VERSION = '2.1.0'
3
3
  end
@@ -6,19 +6,24 @@ require 'http_accept_language/middleware'
6
6
  describe HttpAcceptLanguage::AutoLocale do
7
7
  let(:controller_class) do
8
8
  Class.new do
9
+ def initialize(header = nil)
10
+ super()
11
+ @header = header
12
+ end
13
+
9
14
  def self.before_filter(dummy)
10
15
  # dummy method
11
16
  end
12
17
 
13
18
  def http_accept_language
14
- HttpAcceptLanguage::Parser.new("ja,en-us;q=0.7,en;q=0.3")
19
+ @http_accept_language ||= HttpAcceptLanguage::Parser.new(@header)
15
20
  end
16
21
 
17
22
  include HttpAcceptLanguage::AutoLocale
18
23
  end
19
24
  end
20
25
 
21
- let(:controller) { controller_class.new }
26
+ let(:controller) { controller_class.new("ja,en-us;q=0.7,en;q=0.3") }
22
27
 
23
28
  context "available languages includes accept_languages" do
24
29
  before do
@@ -31,4 +36,32 @@ describe HttpAcceptLanguage::AutoLocale do
31
36
  expect(I18n.locale).to eq(:ja)
32
37
  end
33
38
  end
39
+
40
+ context "available languages do not include accept_languages" do
41
+ before do
42
+ I18n.available_locales = [:es]
43
+ I18n.default_locale = :es
44
+ end
45
+
46
+ it "set the locale to default" do
47
+ no_accept_language_controller.send(:set_locale)
48
+
49
+ expect(I18n.locale).to eq(:es)
50
+ end
51
+ end
52
+
53
+ let(:no_accept_language_controller) { controller_class.new() }
54
+
55
+ context "default locale is ja" do
56
+ before do
57
+ I18n.available_locales = [:en, :ja]
58
+ I18n.default_locale = :ja
59
+ end
60
+
61
+ it "set the locale to default" do
62
+ no_accept_language_controller.send(:set_locale)
63
+
64
+ expect(I18n.locale).to eq(:ja)
65
+ end
66
+ end
34
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_accept_language
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - iain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-25 00:00:00.000000000 Z
11
+ date: 2016-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -118,6 +118,7 @@ extra_rdoc_files: []
118
118
  files:
119
119
  - ".gitignore"
120
120
  - ".rspec"
121
+ - ".travis.yml"
121
122
  - Gemfile
122
123
  - Guardfile
123
124
  - README.md
@@ -156,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
157
  version: '0'
157
158
  requirements: []
158
159
  rubyforge_project: http_accept_language
159
- rubygems_version: 2.2.2
160
+ rubygems_version: 2.5.1
160
161
  signing_key:
161
162
  specification_version: 4
162
163
  summary: Find out which locale the user preferes by reading the languages they specified
@@ -168,4 +169,3 @@ test_files:
168
169
  - spec/auto_locale_spec.rb
169
170
  - spec/middleware_spec.rb
170
171
  - spec/parser_spec.rb
171
- has_rdoc: