Class: AbstractController::I18nProxy

Inherits:
I18n::Config
  • Object
show all
Defined in:
lib/abstract_controller/rendering.rb

Overview

This is a class to fix I18n global state. Whenever you provide I18n.locale during a request, it will trigger the lookup_context and consequently expire the cache.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(original_config, lookup_context) ⇒ I18nProxy

Returns a new instance of I18nProxy


19
20
21
22
# File 'lib/abstract_controller/rendering.rb', line 19

def initialize(original_config, lookup_context)
  original_config = original_config.original_config if original_config.respond_to?(:original_config)
  @original_config, @lookup_context = original_config, lookup_context
end

Instance Attribute Details

#lookup_contextObject (readonly)

:nodoc:


17
18
19
# File 'lib/abstract_controller/rendering.rb', line 17

def lookup_context
  @lookup_context
end

#original_configObject (readonly)

:nodoc:


17
18
19
# File 'lib/abstract_controller/rendering.rb', line 17

def original_config
  @original_config
end

Instance Method Details

#localeObject


24
25
26
# File 'lib/abstract_controller/rendering.rb', line 24

def locale
  @original_config.locale
end

#locale=(value) ⇒ Object


28
29
30
# File 'lib/abstract_controller/rendering.rb', line 28

def locale=(value)
  @lookup_context.locale = value
end