fedux_org-stdlib 0.6.31 → 0.6.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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