Module: I18n

Defined in:
lib/globalize/i18n/missing_translations_log_handler.rb,
lib/globalize/backend/chain.rb,
lib/globalize/locale/fallbacks.rb,
lib/rails_edge_load_path_patch.rb,
lib/globalize/i18n/missing_translations_raise_handler.rb

Overview

A simple exception handler that behaves like the default exception handler but also raises on missing translations.

Useful for identifying missing translations during testing.

E.g.

require 'globalize/i18n/missing_translations_raise_handler
I18n.exception_handler = :missing_translations_raise_handler

Constant Summary collapse

@@fallbacks =
nil
@@load_path =
nil
@@default_locale =
:'en-US'
@@missing_translations_logger =
nil

Class Method Summary collapse

Class Method Details

.chain_backends(*args) ⇒ Object



3
4
5
# File 'lib/globalize/backend/chain.rb', line 3

def chain_backends(*args)
  self.backend = Globalize::Backend::Chain.new(*args)
end

.fallbacksObject

Returns the current fallbacks. Defaults to Globalize::Locale::Fallbacks.



8
9
10
# File 'lib/globalize/locale/fallbacks.rb', line 8

def fallbacks
  @@fallbacks ||= Globalize::Locale::Fallbacks.new
end

.fallbacks=(fallbacks) ⇒ Object

Sets the current fallbacks. Used to set a custom fallbacks instance.



13
14
15
# File 'lib/globalize/locale/fallbacks.rb', line 13

def fallbacks=(fallbacks) 
  @@fallbacks = fallbacks
end

.load_pathObject



6
7
8
# File 'lib/rails_edge_load_path_patch.rb', line 6

def load_path
  @@load_path ||= []
end

.load_path=(load_path) ⇒ Object



10
11
12
# File 'lib/rails_edge_load_path_patch.rb', line 10

def load_path=(load_path)
  @@load_path = load_path
end

.missing_translations_log_handler(exception, locale, key, options) ⇒ Object



32
33
34
35
36
37
38
39
# File 'lib/globalize/i18n/missing_translations_log_handler.rb', line 32

def missing_translations_log_handler(exception, locale, key, options)
  if MissingTranslationData === exception
    missing_translations_logger.warn(exception.message)
    return exception.message 
  else
    raise exception
  end
end

.missing_translations_loggerObject



21
22
23
24
25
26
# File 'lib/globalize/i18n/missing_translations_log_handler.rb', line 21

def missing_translations_logger
  @@missing_translations_logger ||= begin
    require 'logger' unless defined?(Logger)
    Logger.new(STDOUT)
  end
end

.missing_translations_logger=(logger) ⇒ Object



28
29
30
# File 'lib/globalize/i18n/missing_translations_log_handler.rb', line 28

def missing_translations_logger=(logger)
  @@missing_translations_logger = logger
end

.missing_translations_raise_handler(exception, locale, key, options) ⇒ Object



12
13
14
# File 'lib/globalize/i18n/missing_translations_raise_handler.rb', line 12

def missing_translations_raise_handler(exception, locale, key, options)
  raise exception
end