fedux_org-stdlib 0.6.31 → 0.6.32

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: debe4504f6ce05957dd618b8d1845eec75bf5e12
4
- data.tar.gz: 0827b4f70c6aaf190a5e64b0c46c5becc0572147
3
+ metadata.gz: 69aa01e29157f2d631a407061411cc0d891f9788
4
+ data.tar.gz: 1ddd3906967616669c60bffcc76c2864e513bd5a
5
5
  SHA512:
6
- metadata.gz: 714775ebeca90a98700cdddfe0952c762ee00cebbcd07cf4348a49e634928d03774f1c9bc829c99428347265b5e8a8c6d762dad7fc25e84db997713f8aa1d3b5
7
- data.tar.gz: cc2ca79b83308f5372634f23da037242bdeece5c0fb573d2206accb75b21cb89cdca73cbc1d4cbbfb5d316875cb2dcc1d5d8b3dead93e5e797f275038563db58
6
+ metadata.gz: a10a12e181f1ffaba6ff256145963315ff91e4aed7067a67aa161c5098b0d81416019d91787b3f198e6bc8f131c65dd017bf90b34820c6ae305939498d07e2bd
7
+ data.tar.gz: 646d1ecdaed99374ca92a0871cc7534d034489d90e26f667be7312499e5081a0d6592e4406b30c00db0d849c87cbb03fb233dfddb2c6954cbf0bd185fcabdd3f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fedux_org-stdlib (0.6.30)
4
+ fedux_org-stdlib (0.6.31)
5
5
  activesupport
6
6
 
7
7
  GEM
@@ -22,10 +22,13 @@ module FeduxOrgStdlib
22
22
  #
23
23
  # @return [Language]
24
24
  # The detected language or the default language if no allowed language was detected
25
- def detect(allowed: [])
25
+ def detect(allowed: [], overwrite: [])
26
+ allowed = Array(allowed).map(&:to_sym)
27
+ overwrite = Array(overwrite).map(&:to_sym)
28
+
26
29
  lang = environment.fetch 'LANG'
27
30
  language_code, country_code, encoding = lang.scan(/([^_-]+)[_-]([^.]+)\.([A-Za-z0-9_-]*)/i).flatten.map(&:downcase).map { |e| e.gsub('-', '_') }.map { |e| e.to_sym if !e.nil? }
28
- allowed = Array(allowed).map(&:to_sym)
31
+ language_code, country_code, encoding = *overwrite if !overwrite.blank? && overwrite.size == 3
29
32
 
30
33
  return Language.new(language_code: language_code, country_code: country_code, encoding: encoding) if language_code && country_code && (allowed.blank? || allowed.include?(language_code))
31
34
  Language.new(language_code: default_language_code, country_code: default_country_code, encoding: default_encoding)
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
  # FeduxOrgStdlib
3
3
  module FeduxOrgStdlib
4
- VERSION = '0.6.31'
4
+ VERSION = '0.6.32'
5
5
  end
@@ -47,5 +47,17 @@ RSpec.describe ShellLanguageDetector do
47
47
  expect(language.language_code).to eq :de
48
48
  expect(language.country_code).to eq :de
49
49
  end
50
+
51
+ it 'overwrite detected language' do
52
+ environment = instance_double('FeduxOrgStdlib::ProcessEnvironment')
53
+ allow(environment).to receive(:fetch).and_return 'en_GB.UTF-8'
54
+
55
+ detector = ShellLanguageDetector.new environment: environment, default_country_code: :de, default_language_code: :de
56
+ language = detector.detect allowed: [:de, :nl], overwrite: [:nl, :aw, :utf_8]
57
+
58
+ expect(language.language_code).to eq :nl
59
+ expect(language.country_code).to eq :aw
60
+ expect(language.encoding).to eq :utf_8
61
+ end
50
62
  end
51
63
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fedux_org-stdlib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.31
4
+ version: 0.6.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Meyer