| Class | Mack::Localization::FormatEngineRegistry |
| In: |
lib/mack-localization/format_engine/engine_registry.rb
|
| Parent: | Object |
# File lib/mack-localization/format_engine/engine_registry.rb, line 6
6: def initialize
7: # {
8: # :en => {:date => {...}, :num_currency => {...}},
9: # :fr => ...
10: # }
11: @reg = {}
12: end
Retrieve a registered engine
params:
lang - the language type - either l10n_formatter.date_format_registry_key or l10n_formatter.currency_format_registry_key
returns the registered engine, or nil if no engine is registered for that type/lang
# File lib/mack-localization/format_engine/engine_registry.rb, line 42
42: def get_engine(lang, type)
43: lang = lang.to_sym
44: type = type.to_sym
45: type_reg = @reg[lang]
46: return nil if type_reg.nil?
47: return type_reg[type]
48: end
Register a format engine
params:
lang - the language of the engine type - either l10n_formatter.date_format_registry_key or l10n_formatter.currency_format_registry_key overwrite - whether or not to overwrite the formatter if it's already registered. default == false
# File lib/mack-localization/format_engine/engine_registry.rb, line 22
22: def register(lang, type, obj, overwrite = false)
23: lang = lang.to_sym
24: type = type.to_sym
25: if @reg[lang].nil?
26: @reg[lang] = {type => obj}
27: else
28: type_reg = @reg[lang]
29: type_reg[type] = obj if type_reg[type].nil? or (overwrite and !type_reg[type].nil?)
30: end
31: end