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. TODO Add some deprecation warnings to remove I18n.locale from controllers

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(i18n_config, lookup_context) ⇒ I18nProxy

Returns a new instance of I18nProxy.



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

def initialize(i18n_config, lookup_context)
  @i18n_config, @lookup_context = i18n_config, lookup_context
end

Instance Attribute Details

#i18n_configObject (readonly)

:nodoc:



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

def i18n_config
  @i18n_config
end

#lookup_contextObject (readonly)

:nodoc:



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

def lookup_context
  @lookup_context
end

Instance Method Details

#localeObject



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

def locale
  @i18n_config.locale
end

#locale=(value) ⇒ Object



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

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