Последняя активность 1 month ago

gistfile1.txt Исходник
1# ============================================
2# Rule File Parsing
3# ============================================
4
5function rule::is_base() {
6 local name="${1:-}"
7 [[ -f "$(ctx::rules::base)/${name}.rule" ]]
8}
9
10function rule::exists() {
11 local name="${1:-}"
12 [[ -f "$(ctx::rule::path "${name}.rule")" ]] || \
13 [[ -f "$(ctx::rules::base)/${name}.rule" ]]
14}
15
16function rule::require_assignable() {
17 local name="${1:-}"
18 if rule::is_base "$name"; then
19 log::error "Cannot assign base rule '${name}' — base rules cannot be assigned directly"
20 return 1
21 fi
22}
23
24function rule::require_exists() {
25 local name="${1:-}"
26 if ! rule::exists "$name"; then
27 log::error "Rule not found: ${name}"
28 return 1
29 fi
30}