Module: R18n

Defined in:
lib/r18n-core/utils.rb,
lib/r18n-core.rb,
lib/r18n-core/i18n.rb,
lib/r18n-core/locale.rb,
lib/r18n-core/filters.rb,
lib/r18n-core/helpers.rb,
lib/r18n-core/version.rb,
lib/r18n-core/translated.rb,
lib/r18n-core/translation.rb,
lib/r18n-core/yaml_loader.rb,
lib/r18n-core/untranslated.rb,
lib/r18n-core/translated_string.rb,
lib/r18n-core/unsupported_locale.rb

Overview

Locale withou information file to i18n support.

Copyright © 2008 Andrey “A.I.” Sitnik <[email protected]>

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <www.gnu.org/licenses/>.

Defined Under Namespace

Modules: Filters, Helpers, Loader, Locales, Translated, Utils Classes: I18n, Locale, TranslatedString, Translation, Typed, UnsupportedLocale, Untranslated

Constant Summary collapse

VERSION =
'0.4.7'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.cacheObject

Hash of hash-like (see Moneta) object to store loaded translations.



87
88
89
# File 'lib/r18n-core.rb', line 87

def cache
  @cache
end

.default_loaderObject

Default loader class, which will be used if you didn’t send loader to I18n.new (object with available and load methods).



80
81
82
# File 'lib/r18n-core.rb', line 80

def default_loader
  @default_loader
end

.extension_placesObject

Loaders with extension translations. If application translations with same locale isn’t exists, extension file willn’t be used.



84
85
86
# File 'lib/r18n-core.rb', line 84

def extension_places
  @extension_places
end

Class Method Details

.getObject

Get I18n object for current thread.



62
63
64
65
# File 'lib/r18n-core.rb', line 62

def get
  (thread[:r18n_i18n] ||= ((block = thread[:r18n_setter]) && block.call)) ||
  (@i18n ||= (@setter && @setter.call))
end

.resetObject

Delete I18n object from current thread and global variable.



68
69
70
71
# File 'lib/r18n-core.rb', line 68

def reset
  thread[:r18n_i18n] = thread[:r18n_setter] = @i18n = @setter = nil
  self.cache = {}
end

.set(i18n = nil, &block) ⇒ Object

Set I18n object globally.



42
43
44
45
46
47
48
49
# File 'lib/r18n-core.rb', line 42

def set(i18n = nil, &block)
  if block_given?
    @setter = block
    @i18n = nil
  else
    @i18n = i18n
  end
end

.threadObject

Get the current thread.



74
75
76
# File 'lib/r18n-core.rb', line 74

def thread
  Thread.current
end

.thread_set(i18n = nil, &block) ⇒ Object

Set I18n object to current thread.



52
53
54
55
56
57
58
59
# File 'lib/r18n-core.rb', line 52

def thread_set(i18n = nil, &block)
  if block_given?
    Thread.current[:r18n_setter] = block
    Thread.current[:r18n_i18n] = nil
  else
    Thread.current[:r18n_i18n] = i18n
  end
end