class FastGettext::TranslationRepository::Chain
Responsibility:
- delegate calls to members of the chain in turn
TODO cache should be expired after a repo was added
Attributes
chain[RW]
Public Class Methods
new(name, options = {})
click to toggle source
Calls superclass method
FastGettext::TranslationRepository::Base::new
# File lib/fast_gettext/translation_repository/chain.rb, line 13 def initialize(name, options = {}) super self.chain = options[:chain] end
Public Instance Methods
[](key)
click to toggle source
# File lib/fast_gettext/translation_repository/chain.rb, line 31 def [](key) chain.each do |c| if result = c[key] return result end end nil end
available_locales()
click to toggle source
# File lib/fast_gettext/translation_repository/chain.rb, line 18 def available_locales chain.map(&:available_locales).flatten.uniq end
plural(*keys)
click to toggle source
# File lib/fast_gettext/translation_repository/chain.rb, line 40 def plural(*keys) chain.each do |c| result = c.plural(*keys) return result unless result.compact.empty? end [] end
pluralisation_rule()
click to toggle source
# File lib/fast_gettext/translation_repository/chain.rb, line 22 def pluralisation_rule chain.each do |c| if result = c.pluralisation_rule return result end end nil end
reload()
click to toggle source
Calls superclass method
FastGettext::TranslationRepository::Base#reload
# File lib/fast_gettext/translation_repository/chain.rb, line 48 def reload chain.each(&:reload) super end