7 changed files with 285 additions and 330 deletions
-
8README.md
-
60lib/functions.bash
-
20lib/miaou.completion
-
25recipes/wordpress.recipe
-
19tools/miaou-create
-
31tools/miaou-destroy
-
2tools/miaou-recipe
@ -1,60 +0,0 @@ |
|||||
## library of useful functions, usually prefixed with '_' |
|
||||
|
|
||||
## |
|
||||
## ARRAY Functions |
|
||||
## |
|
||||
|
|
||||
function _array_contains { |
|
||||
local -n array=$1 |
|
||||
local element=$2 |
|
||||
[[ " ${array[@]} " =~ " ${element} " ]] && return 0 || return 1 |
|
||||
} |
|
||||
|
|
||||
function _array_intersect { |
|
||||
local -n arr1=$1 |
|
||||
local -n arr2=$2 |
|
||||
local -n result=$3 |
|
||||
|
|
||||
declare -A include |
|
||||
for item in "${arr2[@]}"; do include["$item"]=1; done |
|
||||
|
|
||||
result=() |
|
||||
for item in "${arr1[@]}"; do [[ -n ${include["$item"]} ]] && result+=("$item"); done |
|
||||
} |
|
||||
|
|
||||
function _array_subtract { |
|
||||
local -n arr1=$1 # First array |
|
||||
local -n arr2=$2 # Array to subtract |
|
||||
local -n result=$3 # Output array |
|
||||
|
|
||||
[[ ${#arr2[@]} == 0 ]] && result=("${arr1[@]}") && return |
|
||||
|
|
||||
declare -A exclude |
|
||||
for item in "${arr2[@]}"; do exclude["$item"]=1; done |
|
||||
|
|
||||
result=() |
|
||||
for item in "${arr1[@]}"; do [[ -z ${exclude["$item"]} ]] && result+=("$item"); done |
|
||||
} |
|
||||
|
|
||||
## |
|
||||
## TEXT Functions |
|
||||
## |
|
||||
|
|
||||
function _pluralize_simple { |
|
||||
echo -n "$1 " |
|
||||
[[ $1 -eq 1 || $1 -eq -1 ]] && echo ${2} || echo ${2}s |
|
||||
} |
|
||||
|
|
||||
## |
|
||||
## READ Functions |
|
||||
## |
|
||||
|
|
||||
function _confirm_destructive { |
|
||||
local message="${1:-This cannot be undone!}" |
|
||||
echo "⚠️ WARNING: $message" |
|
||||
read -p "Type YES to confirm: " response |
|
||||
case "$response" in |
|
||||
[yY][eE][sS] | [yY]) return 0 ;; |
|
||||
*) echo "canceled!" && return 1 ;; |
|
||||
esac |
|
||||
} |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue