summaryrefslogtreecommitdiff
path: root/catbird/config.scm
diff options
context:
space:
mode:
Diffstat (limited to 'catbird/config.scm')
-rw-r--r--catbird/config.scm16
1 files changed, 16 insertions, 0 deletions
diff --git a/catbird/config.scm b/catbird/config.scm
new file mode 100644
index 0000000..a010bc1
--- /dev/null
+++ b/catbird/config.scm
@@ -0,0 +1,16 @@
+(define-module (catbird config)
+ #:use-module (oop goops)
+ #:export (developer-mode?
+ <catbird-metaclass>
+ define-root-class))
+
+(define developer-mode?
+ (equal? (getenv "CATBIRD_DEV_MODE") "1"))
+
+(define <catbird-metaclass>
+ (if developer-mode? <redefinable-class> <class>))
+
+(define-syntax-rule (define-root-class name (supers ...) args ...)
+ (define-class name (supers ...)
+ args ...
+ #:metaclass <catbird-metaclass>))