summaryrefslogtreecommitdiff
path: root/serialization.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'serialization.lisp')
-rw-r--r--serialization.lisp25
1 files changed, 9 insertions, 16 deletions
diff --git a/serialization.lisp b/serialization.lisp
index d1689c1..6579b92 100644
--- a/serialization.lisp
+++ b/serialization.lisp
@@ -1,20 +1,13 @@
;;;; serialization.lisp
-(in-package :dnd.api)
-(defmacro with-json-object (&body pairs)
- (list*
- 'json:with-object
- (loop for (key val . more) on pairs by #'cddr
- collect `(json:write-key-value ,key ,val))))
-(defmethod json:%to-json ((hero hero))
- (with-slots (name experience chronicle uid equipment-table) hero
- (with-json-object
- :|name| name
- :|experience| experience
- :|chronicle| chronicle
- :|uid| uid
- :|renown| (renown hero)
- :|title| (hero-title hero)
- :|class| (hero-class hero))))
+(in-package :dnd)
+
+(defun hall-of-fame-hero-view (hero)
+ (json:to-json
+ (list :name (hero-name hero)
+ :uid (uid hero)
+ :renown (renown hero)
+ :title (hero-title hero)
+ :class (hero-class hero))))