diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/weepinbell/config.clj | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/weepinbell/config.clj b/src/weepinbell/config.clj new file mode 100644 index 0000000..9fd2827 --- /dev/null +++ b/src/weepinbell/config.clj @@ -0,0 +1,17 @@ +(ns weepinbell.config + (:require [clojure.edn :as edn] + [clojure.java.io :as io])) + +(defn load-config + (let [default-config (when-let [resource (io/resource "config.edn")] + (-> resource slurp edn/read-string)) + external-file (io/file "config/config.edn") + external-config (when (.exists external-file) + (-> external-file slurp edn/read-string))] + (merge default-config external-config))) + +(def config (delay (load-config))) + +(defn get-config [key & keys] + (get-in @config (cons key keys))) + |
