Class: LangFactory

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/asker/lang/lang_factory.rb

Overview

LangFactory singleton class.

  • Read all language codes defined into configuration file

  • and load every language

Lang objects are reused

Instance Method Summary collapse

Constructor Details

#initializeLangFactory

Read all language codes from configuration file and load every language



17
18
19
20
21
22
23
24
25
26
# File 'lib/asker/lang/lang_factory.rb', line 17

def initialize
  @default = Application.instance.config['languages']['default'].downcase
  @langs = {}
  Application.instance.config['languages'].each_pair do |key, value|
    code = key.downcase
    next if code == 'default'

    @langs[code] = Lang.new(code) if value.downcase == 'yes'
  end
end

Instance Method Details

#defaultObject

Return default Lang object



43
44
45
# File 'lib/asker/lang/lang_factory.rb', line 43

def default
  get(@default)
end

#get(code) ⇒ Object

Return Lang object associated to code

Parameters:

  • code (String)


31
32
33
34
35
36
37
38
39
# File 'lib/asker/lang/lang_factory.rb', line 31

def get(code)
  return @langs[code] unless @langs[code].nil?

  puts Rainbow("[ERROR] Unkown Lang code: #{code}").bright
  puts Rainbow('        => Change input file code lang').bright
  puts Rainbow('        => Revise configuration from config.ini').bright
  puts Rainbow('        => Revise template files').bright
  exit 1
end