Class: Tml::Session
- Inherits:
-
Object
- Object
- Tml::Session
- Defined in:
- lib/tml/session.rb
Instance Attribute Summary collapse
-
#application ⇒ Object
Returns the value of attribute application.
-
#block_options ⇒ Object
Returns the value of attribute block_options.
-
#current_language ⇒ Object
Returns the value of attribute current_language.
-
#current_locale ⇒ Object
Returns the value of attribute current_locale.
-
#current_source ⇒ Object
Returns the value of attribute current_source.
-
#current_translator ⇒ Object
Returns the value of attribute current_translator.
-
#current_user ⇒ Object
Returns the value of attribute current_user.
Instance Method Summary collapse
-
#block_option(key, lookup = true) ⇒ Object
Block Options.
- #block_options_queue ⇒ Object
- #init(opts = {}) ⇒ Object
- #inline_mode? ⇒ Boolean
- #pop_block_options ⇒ Object
- #preferred_locale(locales) ⇒ Object
- #push_block_options(opts) ⇒ Object
- #reset ⇒ Object
- #source_language ⇒ Object
- #target_language ⇒ Object
- #with_block_options(opts) ⇒ Object
Instance Attribute Details
#application ⇒ Object
Returns the value of attribute application.
40 41 42 |
# File 'lib/tml/session.rb', line 40 def application @application end |
#block_options ⇒ Object
Returns the value of attribute block_options.
40 41 42 |
# File 'lib/tml/session.rb', line 40 def @block_options end |
#current_language ⇒ Object
Returns the value of attribute current_language.
41 42 43 |
# File 'lib/tml/session.rb', line 41 def current_language @current_language end |
#current_locale ⇒ Object
Returns the value of attribute current_locale.
41 42 43 |
# File 'lib/tml/session.rb', line 41 def current_locale @current_locale end |
#current_source ⇒ Object
Returns the value of attribute current_source.
41 42 43 |
# File 'lib/tml/session.rb', line 41 def current_source @current_source end |
#current_translator ⇒ Object
Returns the value of attribute current_translator.
41 42 43 |
# File 'lib/tml/session.rb', line 41 def current_translator @current_translator end |
#current_user ⇒ Object
Returns the value of attribute current_user.
41 42 43 |
# File 'lib/tml/session.rb', line 41 def current_user @current_user end |
Instance Method Details
#block_option(key, lookup = true) ⇒ Object
Block Options
113 114 115 116 117 118 119 120 121 122 |
# File 'lib/tml/session.rb', line 113 def block_option(key, lookup = true) if lookup .reverse.each do || value = [key.to_s] || [key.to_sym] return value if value end return nil end [key] end |
#block_options_queue ⇒ Object
133 134 135 |
# File 'lib/tml/session.rb', line 133 def @block_options ||= [] end |
#init(opts = {}) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/tml/session.rb', line 43 def init(opts = {}) return if Tml.config.disabled? key = opts[:key] || Tml.config.application[:key] token = opts[:token] || Tml.config.application[:token] host = opts[:host] || Tml.config.application[:host] Tml.cache.reset_version self.current_user = opts[:user] self.current_source = opts[:source] || 'index' self.current_locale = opts[:locale] self.current_translator = opts[:translator] self.application = Tml::Application.new(:key => key, :access_token => token, :host => host).fetch if self.current_translator self.current_translator.application = self.application end self.current_locale = preferred_locale(opts[:locale]) self.current_language = self.application.current_language(self.current_locale) self end |
#inline_mode? ⇒ Boolean
105 106 107 |
# File 'lib/tml/session.rb', line 105 def inline_mode? current_translator and current_translator.inline? end |
#pop_block_options ⇒ Object
128 129 130 131 |
# File 'lib/tml/session.rb', line 128 def return unless @block_options @block_options.pop end |
#preferred_locale(locales) ⇒ Object
69 70 71 72 73 74 75 76 |
# File 'lib/tml/session.rb', line 69 def preferred_locale(locales) return application.default_locale unless locales locales = locales.is_a?(String) ? locales.split(',') : locales locales.each do |locale| return locale if application.locales.include?(locale) end application.default_locale end |
#push_block_options(opts) ⇒ Object
124 125 126 |
# File 'lib/tml/session.rb', line 124 def (opts) .push(opts) end |
#reset ⇒ Object
78 79 80 81 82 83 84 85 |
# File 'lib/tml/session.rb', line 78 def reset self.application= nil self.current_user= nil self.current_language= nil self.current_translator= nil self.current_source= nil self.= nil end |
#source_language ⇒ Object
95 96 97 98 |
# File 'lib/tml/session.rb', line 95 def source_language locale = block_option(:locale) locale ? application.language(locale) : application.language end |
#target_language ⇒ Object
100 101 102 103 |
# File 'lib/tml/session.rb', line 100 def target_language target_locale = block_option(:target_locale) target_locale ? application.language(target_locale) : current_language end |
#with_block_options(opts) ⇒ Object
141 142 143 144 145 146 147 148 |
# File 'lib/tml/session.rb', line 141 def (opts) (opts) if block_given? ret = yield end ret end |