generated from your-land/yl_template
135 lines
3.7 KiB
Lua
135 lines
3.7 KiB
Lua
local function get_data() return yl_rulesets.data end
|
|
|
|
function yl_rulesets.get_data() return get_data() end
|
|
|
|
-- Create ruleset_group
|
|
--
|
|
|
|
local function register_ruleset_group(ruleset_group_name)
|
|
|
|
local data = yl_rulesets.get_data()
|
|
|
|
if type(ruleset_group_name) ~= "string" then
|
|
return false, yl_rulesets.t("error_not_a_string", "ruleset_group")
|
|
end
|
|
|
|
if type(data) ~= "table" then
|
|
return false, yl_rulesets.t("error_not_a_table", "data")
|
|
end
|
|
|
|
if data[ruleset_group_name] ~= nil then
|
|
return false, yl_rulesets.t("error_already_exists", "ruleset_group",
|
|
ruleset_group_name)
|
|
end
|
|
|
|
data[ruleset_group_name] = {}
|
|
|
|
return true, ""
|
|
end
|
|
|
|
function yl_rulesets.register_ruleset_group(...)
|
|
return register_ruleset_group(...)
|
|
end
|
|
|
|
-- Create ruleset
|
|
--
|
|
|
|
local function register_ruleset(ruleset_name, ruleset_group_name)
|
|
|
|
local data = yl_rulesets.get_data()
|
|
|
|
if type(ruleset_name) ~= "string" then
|
|
return false, yl_rulesets.t("error_not_a_string", "ruleset_name")
|
|
end
|
|
|
|
if type(ruleset_group_name) ~= "string" then
|
|
return false, yl_rulesets.t("error_not_a_string", "ruleset_group_name")
|
|
end
|
|
|
|
if type(data) ~= "table" then
|
|
return false, yl_rulesets.t("error_not_a_table", "data")
|
|
end
|
|
|
|
if type(data[ruleset_group_name]) ~= "table" then
|
|
return false, yl_rulesets.t("error_not_a_table", "ruleset_group_name")
|
|
end
|
|
|
|
if data[ruleset_group_name][ruleset_name] ~= nil then
|
|
return false, yl_rulesets.t("error_already_exists", "ruleset_name",
|
|
ruleset_name)
|
|
end
|
|
|
|
data[ruleset_group_name][ruleset_name] = {}
|
|
|
|
return true, ""
|
|
end
|
|
|
|
function yl_rulesets.register_ruleset(...) return register_ruleset(...) end
|
|
|
|
-- Create rule
|
|
--
|
|
|
|
local function register_rule(rule_name, ruleset_name, ruleset_group_name,
|
|
function_activate, function_deactivate, options)
|
|
|
|
local data = yl_rulesets.get_data()
|
|
|
|
-- strings
|
|
if type(rule_name) ~= "string" then
|
|
return false, yl_rulesets.t("error_not_a_string", "rule_name")
|
|
end
|
|
|
|
if type(ruleset_name) ~= "string" then
|
|
return false, yl_rulesets.t("error_not_a_string", "ruleset_name")
|
|
end
|
|
|
|
if type(ruleset_group_name) ~= "string" then
|
|
return false, yl_rulesets.t("error_not_a_string", "ruleset_group_name")
|
|
end
|
|
|
|
-- functions
|
|
if type(function_activate) ~= "function" then
|
|
return false, yl_rulesets.t("error_not_a_function", "function_activate")
|
|
end
|
|
|
|
if type(function_deactivate) ~= "function" then
|
|
return false,
|
|
yl_rulesets.t("error_not_a_function", "function_deactivate")
|
|
end
|
|
|
|
-- data
|
|
if type(data) ~= "table" then
|
|
return false, yl_rulesets.t("error_not_a_table", "data")
|
|
end
|
|
|
|
if type(data[ruleset_group_name]) ~= "table" then
|
|
return false, yl_rulesets.t("error_not_a_table", "ruleset_group_name")
|
|
end
|
|
|
|
if data[ruleset_group_name][ruleset_name] ~= "table" then
|
|
return false, yl_rulesets.t("error_not_a_table", "ruleset_name")
|
|
end
|
|
|
|
if data[ruleset_group_name][ruleset_name][rule_name] ~= nil then
|
|
return false,
|
|
yl_rulesets.t("error_already_exists", "rule_name", rule_name)
|
|
end
|
|
|
|
local rule = {
|
|
rule_name = rule_name,
|
|
ruleset_name = ruleset_name,
|
|
ruleset_group_name = ruleset_group_name,
|
|
function_activate = function_activate,
|
|
function_deactivate = function_deactivate,
|
|
options = options or {}
|
|
}
|
|
|
|
data[ruleset_group_name][ruleset_name][rule_name] = rule
|
|
|
|
return true, ""
|
|
end
|
|
|
|
function yl_rulesets.register_rule(...) return register_rule(...) end
|
|
|
|
-- Enable ruleset
|
|
-- |