class CliApplication::Config

Attributes

config[R]
filename[R]

Public Class Methods

new(folders) click to toggle source

Конструктор. Вызывается при создании класса приложения. Данный класс доступен в главной функции приложения (main) через переменную config

@param [Array] folders директории, в которых расположены базовый класс проекта и класс приложения

Calls superclass method
# File lib/cli_application/config.rb, line 19
def initialize(folders)
  super(nil)
  return if folders.nil?
  @folders = folders
  @filenames = Array.new
  @config_filename = File.join([folders[:class], 'config.yml'])
  @filename = @config_filename
  load_config(@config_filename)
end

Public Instance Methods

add(filename, type) click to toggle source

Метод загружает конфиг и делает его доступным через единый интерфейс настроек конфигурации приложения (CliApplication::Config) При каждом вызове данного метода все конфиги перечитываются заново.

@param [Sym] type параметр используется для указания местоположения конфига. Если указано :app или :class,

то имя файла с конфигом будет дополнено папкой класса или приложения

@option type [Sym] :app папка, из которой запущено приложение @option type [Sym] :class папка, в которой хранится базовый класс @option type [Sym] :absolute указывает на необходимость брать имя файла как задано разработчиком @return [Nil] нет

# File lib/cli_application/config.rb, line 38
def add(filename, type)
  if @folders.keys.include?(type)
    load_config(File.join(@folders[type], filename))
  elsif type == :absolute
    load_config(filename)
  else
    warn "Предупреждение: попытка загрузить конфиг неизвестного типа (#{type.inspect}). Допустимы #{@folders.keys.inspect}"
  end
end