src/packages/settings.lisp

DOWNLOAD
(defpackage :murja.model.settings
  (:use :cl)
  (:export :setup-settings :setting-getter :all-setting-names :update-setting :defsetting :define-settings :create-settings)
  (:import-from :com.inuoe.jzon :stringify :parse)
  (:documentation "This package specifies macros define-settings and defsetting, which are used thus:

```
(define-settings
  (site-name \"default-site\")
  (test-setting 12345))
```

After running that form, one can get setting's current value by funcalling its symbol (for example: `(site-name) => \"default site\")`. If you wish to change
the value of this setting, you call its symbol with a parameter (`(site-name \"a new site\")`, after which calling it with 0-arity begins returning \"a new site\").

These changes are saved in murja's table `blog.Settings`."))