nuno revisó este gist 1 month ago. Ir a la revisión
1 file changed, 36 insertions
context.sh(archivo creado)
| @@ -0,0 +1,36 @@ | |||
| 1 | + | #!/usr/bin/env bash | |
| 2 | + | # core/framework/context.sh | |
| 3 | + | ||
| 4 | + | # ============================================ | |
| 5 | + | # Static Context — resolved once at source time | |
| 6 | + | # ============================================ | |
| 7 | + | ||
| 8 | + | _CTX_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" | |
| 9 | + | _CTX_CORE="${_CTX_ROOT}/core" | |
| 10 | + | _CTX_FRAMEWORK_CORE="${_CTX_ROOT}/core/framework" | |
| 11 | + | _CTX_APP_CORE="${_CTX_ROOT}/core/app" | |
| 12 | + | _CTX_MODULES="${_CTX_ROOT}/modules" | |
| 13 | + | _CTX_COMMANDS="${_CTX_ROOT}/commands" | |
| 14 | + | ||
| 15 | + | echo "ctx::root: $_CTX_ROOT" | |
| 16 | + | echo "ctx::modules: $_CTX_MODULES" | |
| 17 | + | ||
| 18 | + | # ============================================ | |
| 19 | + | # Accessors | |
| 20 | + | # ============================================ | |
| 21 | + | ||
| 22 | + | function ctx::root() { echo "$_CTX_ROOT"; } | |
| 23 | + | function ctx::core() { echo "$_CTX_CORE"; } | |
| 24 | + | function ctx::framework() { echo "$_CTX_FRAMEWORK_CORE"; } | |
| 25 | + | function ctx::app() { echo "$_CTX_APP_CORE"; } | |
| 26 | + | function ctx::modules() { echo "$_CTX_MODULES"; } | |
| 27 | + | function ctx::commands() { echo "$_CTX_COMMANDS"; } | |
| 28 | + | ||
| 29 | + | # ============================================ | |
| 30 | + | # Path Helpers | |
| 31 | + | # ============================================ | |
| 32 | + | ||
| 33 | + | function ctx::core::path() { local IFS="/"; echo "$_CTX_CORE/$*"; } | |
| 34 | + | function ctx::framework::path() { local IFS="/"; echo "$_CTX_FRAMEWORK_CORE/$*"; } | |
| 35 | + | function ctx::module::path() { local IFS="/"; echo "$_CTX_MODULES/$*"; } | |
| 36 | + | function ctx::command::path() { local IFS="/"; echo "$_CTX_COMMANDS/$*"; } | |
Siguiente
Anterior