Class Mack::Localization::FormatEngineRegistry
In: lib/mack-localization/format_engine/engine_registry.rb
Parent: Object

Methods

get_engine   new   register  

Included Modules

Singleton

Public Class methods

[Source]

    # 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

Public Instance methods

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

[Source]

    # 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

[Source]

    # 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

[Validate]