|
|
|
@ -1,20 +1,24 @@
|
|
|
|
require "inifile"
|
|
|
|
require "inifile"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Класс для работы с конфигурацией INI-файла
|
|
|
|
class IniConfig
|
|
|
|
class IniConfig
|
|
|
|
attr :path
|
|
|
|
attr :path
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Конструктор класса, принимает путь к INI-файлу и парсит его содержимое
|
|
|
|
def initialize(in_path = "config.ini")
|
|
|
|
def initialize(in_path = "config.ini")
|
|
|
|
@path = in_path
|
|
|
|
@path = in_path
|
|
|
|
@config = {}
|
|
|
|
@config = {}
|
|
|
|
parse_ini
|
|
|
|
parse_ini
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для парсинга INI-файла и загрузки его содержимого в хэш
|
|
|
|
def parse_ini()
|
|
|
|
def parse_ini()
|
|
|
|
return if path.nil?
|
|
|
|
return if path.nil?
|
|
|
|
return unless File.exist? path
|
|
|
|
return unless File.exist? path
|
|
|
|
@config = IniFile.load(path)
|
|
|
|
@config = IniFile.load(path)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения порта сервера из конфигурации, если он задан, иначе возвращает значение по умолчанию (8080)
|
|
|
|
def get_port()
|
|
|
|
def get_port()
|
|
|
|
unless @config["server"]["port"].nil?
|
|
|
|
unless @config["server"]["port"].nil?
|
|
|
|
@config["server"]["port"].to_i
|
|
|
|
@config["server"]["port"].to_i
|
|
|
|
@ -23,6 +27,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения репозитория из конфигурации, если он задан, иначе возвращает значение по умолчанию ("repo")
|
|
|
|
def get_repo()
|
|
|
|
def get_repo()
|
|
|
|
unless @config["repo"]["repo"].nil?
|
|
|
|
unless @config["repo"]["repo"].nil?
|
|
|
|
@config["repo"]["repo"].to_s
|
|
|
|
@config["repo"]["repo"].to_s
|
|
|
|
@ -31,6 +36,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения базы данных из конфигурации, если она задана, иначе возвращает значение по умолчанию ("db")
|
|
|
|
def get_db()
|
|
|
|
def get_db()
|
|
|
|
unless @config["server"]["db"].nil?
|
|
|
|
unless @config["server"]["db"].nil?
|
|
|
|
@config["server"]["db"].to_s
|
|
|
|
@config["server"]["db"].to_s
|
|
|
|
@ -39,6 +45,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения скрытых конфигураций из конфигурации, если они заданы, иначе возвращает пустой массив
|
|
|
|
def get_configs_hide()
|
|
|
|
def get_configs_hide()
|
|
|
|
unless @config["configs"]["hide"].nil?
|
|
|
|
unless @config["configs"]["hide"].nil?
|
|
|
|
@config["configs"]["hide"].split(",").map { |item| item.strip }
|
|
|
|
@config["configs"]["hide"].split(",").map { |item| item.strip }
|
|
|
|
@ -47,6 +54,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения выбранных конфигураций из конфигурации, если они заданы, иначе возвращает пустой массив
|
|
|
|
def get_configs_selected()
|
|
|
|
def get_configs_selected()
|
|
|
|
unless @config["configs"]["selected"].nil?
|
|
|
|
unless @config["configs"]["selected"].nil?
|
|
|
|
@config["configs"]["selected"].split(",").map { |item| item.strip }
|
|
|
|
@config["configs"]["selected"].split(",").map { |item| item.strip }
|
|
|
|
@ -55,6 +63,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения пути к проектам из конфигурации, если он задан, иначе возвращает значение по умолчанию ("projects")
|
|
|
|
def get_projects_path()
|
|
|
|
def get_projects_path()
|
|
|
|
unless @config["projects"]["path"].nil?
|
|
|
|
unless @config["projects"]["path"].nil?
|
|
|
|
@config["projects"]["path"].to_s
|
|
|
|
@config["projects"]["path"].to_s
|
|
|
|
@ -63,6 +72,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения пути к счетчику из конфигурации, если он задан, иначе возвращает значение по умолчанию ("locks/counter")
|
|
|
|
def get_counter_path()
|
|
|
|
def get_counter_path()
|
|
|
|
unless @config["counter"]["path"].nil?
|
|
|
|
unless @config["counter"]["path"].nil?
|
|
|
|
@config["counter"]["path"].to_s
|
|
|
|
@config["counter"]["path"].to_s
|
|
|
|
@ -71,6 +81,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения пути к блокировке сборки из конфигурации, если он задан, иначе возвращает значение по умолчанию ("locks/build")
|
|
|
|
def get_build_lock_path()
|
|
|
|
def get_build_lock_path()
|
|
|
|
unless @config["build"]["path"].nil?
|
|
|
|
unless @config["build"]["path"].nil?
|
|
|
|
@config["build"]["path"].to_s
|
|
|
|
@config["build"]["path"].to_s
|
|
|
|
@ -79,6 +90,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения количества элементов на странице из конфигурации, если оно задано и больше нуля, иначе возвращает значение по умолчанию (30)
|
|
|
|
def get_items_per_page()
|
|
|
|
def get_items_per_page()
|
|
|
|
unless @config["pages"]["items_per_page"].nil?
|
|
|
|
unless @config["pages"]["items_per_page"].nil?
|
|
|
|
res = @config["pages"]["items_per_page"].to_i
|
|
|
|
res = @config["pages"]["items_per_page"].to_i
|
|
|
|
@ -91,6 +103,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения пути к ключам из конфигурации, если он задан, иначе возвращает значение по умолчанию ("keys")
|
|
|
|
def get_keys_path()
|
|
|
|
def get_keys_path()
|
|
|
|
unless @config["sign"]["path"].nil?
|
|
|
|
unless @config["sign"]["path"].nil?
|
|
|
|
@config["sign"]["path"].to_s
|
|
|
|
@config["sign"]["path"].to_s
|
|
|
|
@ -99,6 +112,7 @@ class IniConfig
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Метод для получения пути к реповьюверу из конфигурации, если он задан, иначе возвращает значение по умолчанию ("repoview")
|
|
|
|
def get_repoview_path()
|
|
|
|
def get_repoview_path()
|
|
|
|
unless @config["repoview"]["path"].nil?
|
|
|
|
unless @config["repoview"]["path"].nil?
|
|
|
|
@config["repoview"]["path"].to_s
|
|
|
|
@config["repoview"]["path"].to_s
|
|
|
|
|