Class: Lolita::I18n::Configuration
- Inherits:
-
Object
- Object
- Lolita::I18n::Configuration
- Defined in:
- lib/lolita-i18n/configuration.rb
Instance Attribute Summary collapse
-
#recording_request_path_info ⇒ Object
readonly
Returns the value of attribute recording_request_path_info.
-
#request_path_info ⇒ Object
Returns the value of attribute request_path_info.
-
#yaml_backend ⇒ Object
Returns the value of attribute yaml_backend.
Instance Method Summary collapse
-
#backend ⇒ Object
Lazy create new KeyValue backend with current store.
- #connect ⇒ Object
- #disconnect ⇒ Object
-
#include_modules ⇒ Object
Add modules for SimpleBackend that is used for Yaml translations.
- #init ⇒ Object
-
#initialize_chain ⇒ Object
Create chain where new KeyValue backend is first and Yaml backend is second.
- #load_rails! ⇒ Object
-
#load_translations ⇒ Object
Load translation from yaml.
- #reconnect ⇒ Object
- #set_recording_request_path_info ⇒ Object
- #set_yaml_backend ⇒ Object
-
#store ⇒ Object
Rerturn existing store or create new Redis connection without any arguments.
-
#store=(possible_store) ⇒ Object
Set current store to new Redis connection with given Hash options or accept Redis connection itself.
Instance Attribute Details
#recording_request_path_info ⇒ Object (readonly)
Returns the value of attribute recording_request_path_info.
7 8 9 |
# File 'lib/lolita-i18n/configuration.rb', line 7 def recording_request_path_info @recording_request_path_info end |
#request_path_info ⇒ Object
Returns the value of attribute request_path_info.
5 6 7 |
# File 'lib/lolita-i18n/configuration.rb', line 5 def request_path_info @request_path_info end |
#yaml_backend ⇒ Object
Returns the value of attribute yaml_backend.
5 6 7 |
# File 'lib/lolita-i18n/configuration.rb', line 5 def yaml_backend @yaml_backend end |
Instance Method Details
#backend ⇒ Object
Lazy create new KeyValue backend with current store.
34 35 36 37 |
# File 'lib/lolita-i18n/configuration.rb', line 34 def backend @backend ||= KeyValueRecorder.new(self.store) #@backend ||= ::I18n::Backend::KeyValue.new(self.store) end |
#connect ⇒ Object
58 59 60 61 62 |
# File 'lib/lolita-i18n/configuration.rb', line 58 def connect unless @connected reconnect end end |
#disconnect ⇒ Object
81 82 83 84 85 86 |
# File 'lib/lolita-i18n/configuration.rb', line 81 def disconnect if @connected store.client.disconnect @connected = false end end |
#include_modules ⇒ Object
Add modules for SimpleBackend that is used for Yaml translations
93 94 95 96 97 |
# File 'lib/lolita-i18n/configuration.rb', line 93 def include_modules ::I18n::Backend::Simple.send(:include, ::I18n::Backend::Flatten) ::I18n::Backend::Simple.send(:include, ::I18n::Backend::Pluralization) ::I18n::Backend::Simple.send(:include, ::I18n::Backend::InterpolationCompiler) end |
#init ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/lolita-i18n/configuration.rb', line 49 def init unless @initialized include_modules set_yaml_backend @initialized = true connect end end |
#initialize_chain ⇒ Object
Create chain where new KeyValue backend is first and Yaml backend is second.
45 46 47 |
# File 'lib/lolita-i18n/configuration.rb', line 45 def initialize_chain ::I18n::Backend::Chain.new(self.backend, self.yaml_backend) end |
#load_rails! ⇒ Object
9 10 11 12 13 |
# File 'lib/lolita-i18n/configuration.rb', line 9 def load_rails! if Lolita.rails? require 'lolita-i18n/rails' end end |
#load_translations ⇒ Object
Load translation from yaml.
40 41 42 |
# File 'lib/lolita-i18n/configuration.rb', line 40 def load_translations @yaml_backend.load_translations end |
#reconnect ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/lolita-i18n/configuration.rb', line 64 def reconnect unless @initialized init else disconnect @connected = begin store.client.reconnect store.ping ::I18n.backend = initialize_chain true rescue Errno::ECONNREFUSED => e warn "Warning: Lolita was unable to connect to Redis DB: #{e}" false end end end |
#set_recording_request_path_info ⇒ Object
99 100 101 |
# File 'lib/lolita-i18n/configuration.rb', line 99 def set_recording_request_path_info @recording_request_path_info = true end |
#set_yaml_backend ⇒ Object
88 89 90 |
# File 'lib/lolita-i18n/configuration.rb', line 88 def set_yaml_backend @yaml_backend ||= ::I18n.backend end |
#store ⇒ Object
Rerturn existing store or create new Redis connection without any arguments.
15 16 17 18 19 20 21 |
# File 'lib/lolita-i18n/configuration.rb', line 15 def store unless @store warn "Lolita::I18n No store specified. See Lolita::I18n" @store = Redis.new end @store end |
#store=(possible_store) ⇒ Object
Set current store to new Redis connection with given Hash options or accept Redis connection itself.
24 25 26 27 28 29 30 31 |
# File 'lib/lolita-i18n/configuration.rb', line 24 def store=(possible_store) @store = if possible_store.is_a?(Hash) Redis.new(possible_store) else possible_store end @store end |