lib/i18n/tasks/configuration.rb in i18n-tasks-0.9.0.rc1 vs lib/i18n/tasks/configuration.rb in i18n-tasks-0.9.0.rc2
- old
+ new
@@ -1,6 +1,13 @@
module I18n::Tasks::Configuration
+ DEFAULTS = {
+ base_locale: 'en'.freeze,
+ internal_locale: 'en'.freeze,
+ search: ::I18n::Tasks::UsedKeys::SEARCH_DEFAULTS,
+ data: ::I18n::Tasks::Data::DATA_DEFAULTS
+ }
+
# i18n-tasks config (defaults + config/i18n-tasks.yml)
# @return [Hash{String => String,Hash,Array}]
def config
@config || (self.config = {})
end
@@ -9,11 +16,11 @@
config/i18n-tasks.yml config/i18n-tasks.yml.erb
i18n-tasks.yml i18n-tasks.yml.erb
)
def file_config
- file = CONFIG_FILES.detect { |f| File.exist?(f) }
+ file = CONFIG_FILES.detect { |f| File.exist?(f) }
config = file && YAML.load(Erubis::Eruby.new(File.read(file, encoding: 'UTF-8')).result)
if config.present?
config.with_indifferent_access.tap do |c|
if c[:relative_roots]
warn_deprecated 'config/i18n-tasks.yml has relative_roots on top level. Please move relative_roots under search.'
@@ -30,11 +37,11 @@
@config_sections = {}
@config
end
# data config
- # @return [{adapter: String, options: Hash}]
+ # @return [Hash<adapter: String, options: Hash>]
def data_config
@config_sections[:data] ||= begin
{
adapter: data.class.name,
config: data.config
@@ -57,18 +64,18 @@
@config_sections[:locales] ||= data.locales
end
# @return [String] default i18n locale
def base_locale
- @config_sections[:base_locale] ||= (config[:base_locale] || 'en').to_s
+ @config_sections[:base_locale] ||= (config[:base_locale] || DEFAULTS[:base_locale]).to_s
end
def internal_locale
- @config_sections[:internal_locale] ||= (config[:internal_locale] || 'en').to_s
+ @config_sections[:internal_locale] ||= (config[:internal_locale] || DEFAULTS[:internal_locale]).to_s
end
def ignore_config(type = nil)
- key = type ? "ignore_#{type}" : 'ignore'
+ key = type ? "ignore_#{type}" : 'ignore'
@config_sections[key] ||= config[key]
end
IGNORE_TYPES = [nil, :missing, :unused, :eq_base].freeze
# evaluated configuration (as the app sees it)