#!/bin/bash

exname=$(basename $0)

compose_core=$(which compose-core) || {
    echo "Requires compose-core executable to be in \$PATH." >&2
    exit 1
}

fetch-def() {
    local path="$1" fname="$2"
    ( . "$path" 1>&2 || {
          echo "Failed to load '$path'." >&2
          exit 1
      }
      declare -f "$fname"
    )
}

prefix_cmd="
. /etc/shlib

include common
include parse

. ../lib/common

$(fetch-def "$compose_core" yaml_get_values)
$(fetch-def "$compose_core" yaml_get_interpret)

" || {
    echo "Couldn't build prefix cmd" >&2
    exit 1
}

# mock
cfg-get-value() {
    local key="$1"
    shyaml get-value "$key" 2>/dev/null
}
export -f cfg-get-value

yaml_get_interpret() {
    shyaml get-value
}
export -f yaml_get_interpret

##
## Tests
##

try "
_get_custom_rules '
'"
noerror
is out ''


try "
_get_custom_rules '
apache-custom-rules:
'"
noerror
is out ''

try "
_get_custom_rules '
apache-custom-rules:
- a
- b
'"
noerror
is out 'a
b'


try "
_get_custom_rules '
apache-custom-rules:
  a: x
  b: y
'"
noerror
is out '
x
y'