Class: I18nTools::MissingScanner
- Defined in:
- lib/i18n_tools/missing_scanner.rb
Constant Summary
Constants inherited from Scanner
Scanner::CODE_REGEXPS, Scanner::VIEW_REGEXPS
Instance Method Summary collapse
-
#initialize(locale) ⇒ MissingScanner
constructor
A new instance of MissingScanner.
- #results ⇒ Object
- #suggestion_for_key(key) ⇒ Object
Methods inherited from Scanner
code_paths, code_paths=, file_types, file_types=, view_paths, view_paths=
Constructor Details
#initialize(locale) ⇒ MissingScanner
Returns a new instance of MissingScanner.
3 4 5 |
# File 'lib/i18n_tools/missing_scanner.rb', line 3 def initialize(locale) @locale = locale end |
Instance Method Details
#results ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/i18n_tools/missing_scanner.rb', line 7 def results missing_ones = [] scan do |key, params| missing_ones << [key, params] unless I18n.backend.send(:lookup, @locale, key) end result = {} missing_ones.each do |key, params| current_hash = result parts = key.split(".") parts[0..-2].each do |part| current_hash[part] ||= {} current_hash = current_hash[part] end content = suggestion_for_key(parts.last) || "" if content.blank? if params.blank? content = "" else keys = [] parsed = params.split(",").map {|x|x.scan(/(:[a-zA-Z0-9_]+)\s*=>\s*(.*)/)} parsed.each do |param| next if param.blank? key, value = *param.flatten keys << "%{#{key.sub(/^:/, '')}} (#{value})" end content = keys.join(", ") end end current_hash[parts.last] = content end result end |