From b61e1d766356a6e70234f10dacca8a049d44f962 Mon Sep 17 00:00:00 2001 From: Vitor Oliveira Date: Tue, 24 Nov 2020 17:08:47 -0800 Subject: [PATCH] Rollback PR #2169 --- lib/faker.rb | 29 +++-------------------------- test/test_locale.rb | 15 --------------- 2 files changed, 3 insertions(+), 41 deletions(-) diff --git a/lib/faker.rb b/lib/faker.rb index e29ecde01b..49a8fd0406 100644 --- a/lib/faker.rb +++ b/lib/faker.rb @@ -8,27 +8,10 @@ Dir.glob(File.join(mydir, 'helpers', '*.rb')).sort.each { |file| require file } -module Faker - @i18n_loaded = nil - - class << self - def load_i18n - return if @i18n_loaded - - if I18n.available_locales&.any? - # We expect all locale .yml files to have the locale name in its filename - I18n.load_path += ::Dir[::File.join(__dir__, 'locales', "{#{I18n.available_locales.join(',')}}.yml")] - # Or to be located in a directory with the locale name - I18n.load_path += ::Dir[::File.join(__dir__, 'locales', "{#{I18n.available_locales.join(',')}}/*.yml")] - else - I18n.load_path += ::Dir[::File.join(__dir__, 'locales', '**/*.yml')] - end - - I18n.reload! if I18n.backend.initialized? - @i18n_loaded = true - end - end +I18n.load_path += Dir[File.join(mydir, 'locales', '**/*.yml')] +I18n.reload! if I18n.backend.initialized? +module Faker module Config @locale = nil @random = nil @@ -37,8 +20,6 @@ class << self attr_writer :locale, :random def locale - Faker.load_i18n - # Because I18n.locale defaults to :en, if we don't have :en in our available_locales, errors will happen @locale || (I18n.available_locales.include?(I18n.locale) ? I18n.locale : I18n.available_locales.first) end @@ -168,8 +149,6 @@ def parse(key) # Call I18n.translate with our configured locale if no # locale is specified def translate(*args, **opts) - Faker.load_i18n - opts[:locale] ||= Faker::Config.locale opts[:raise] = true I18n.translate(*args, **opts) @@ -186,8 +165,6 @@ def translate(*args, **opts) # Executes block with given locale set. def with_locale(tmp_locale = nil, &block) - Faker.load_i18n - current_locale = Faker::Config.own_locale Faker::Config.locale = tmp_locale diff --git a/test/test_locale.rb b/test/test_locale.rb index 102f7d7f02..2b91ca6105 100644 --- a/test/test_locale.rb +++ b/test/test_locale.rb @@ -78,19 +78,4 @@ def test_regex def test_available_locales assert I18n.locale_available?('en-GB') end - - def test_load_i18n - Faker.instance_variable_set :@i18n_loaded, nil - available_locales_was = I18n.available_locales - - I18n.available_locales = %i[en ja id] - Faker.load_i18n - I18n.eager_load! - - assert Faker.instance_variable_get(:@i18n_loaded) - assert_equal %i[en id ja], I18n.backend.translations.keys.sort - ensure - I18n.available_locales = available_locales_was - Faker.instance_variable_set :@i18n_loaded, nil - end end