Sha256: 01ccaa33292ef424663bbed35339b255b3fb56286cad883e1a97f992f877f8d9
Contents?: true
Size: 1.13 KB
Versions: 5
Compression:
Stored size: 1.13 KB
Contents
module I18n::Tasks::IgnoreKeys # whether to ignore the key # will also apply global ignore rules # @param [:missing, :unused, :eq_base] ignore_type def ignore_key?(key, ignore_type, locale = nil) key =~ ignore_pattern(ignore_type, locale) end # @param type [nil, :missing, :unused, :eq_base] type # @param locale [String] only when type is :eq_base # @return [Regexp] a regexp that matches all the keys ignored for the type (and locale) def ignore_pattern(type, locale = nil) @ignore_patterns ||= HashWithIndifferentAccess.new @ignore_patterns[type] ||= {} @ignore_patterns[type][locale] ||= begin global, type_ignore = ignore_config.presence || [], ignore_config(type).presence || [] patterns = if type_ignore.is_a?(Array) global + type_ignore elsif type_ignore.is_a?(Hash) # ignore per locale global + (type_ignore['all'] || []) + type_ignore.select { |k, v| k.to_s =~ /\b#{locale}\b/ }.values.flatten(1).compact end compile_patterns_re patterns end end end
Version data entries
5 entries across 5 versions & 1 rubygems