Extend Clojure reader for ObjectId and java.util.Date
This commit is contained in:
parent
a21267cf41
commit
1b69e0644b
2 changed files with 26 additions and 0 deletions
|
|
@ -24,6 +24,24 @@
|
|||
|
||||
(defrecord ClojureReaderBasedMongoDBSessionStore [^String collection-name])
|
||||
|
||||
(defmethod print-dup java.util.Date
|
||||
[d out]
|
||||
(.write out
|
||||
(str "#="
|
||||
`(java.util.Date. ~(.getYear d)
|
||||
~(.getMonth d)
|
||||
~(.getDate d)
|
||||
~(.getHours d)
|
||||
~(.getMinutes d)
|
||||
~(.getSeconds d)))))
|
||||
|
||||
(defmethod print-dup org.bson.types.ObjectId
|
||||
[oid out]
|
||||
(.write out
|
||||
(str "#="
|
||||
`(org.bson.types.ObjectId. ~(str oid)))))
|
||||
|
||||
|
||||
(extend-protocol ringstore/SessionStore
|
||||
ClojureReaderBasedMongoDBSessionStore
|
||||
|
||||
|
|
|
|||
|
|
@ -52,3 +52,11 @@
|
|||
sk (write-session store nil {:library "Monger"})]
|
||||
(is (nil? (delete-session store sk)))
|
||||
(is (= {} (read-session store sk)))))
|
||||
|
||||
|
||||
(deftest test-reader-extensions
|
||||
(let [d (java.util.Date.)
|
||||
oid (org.bson.types.ObjectId.)]
|
||||
(binding [*print-dup* true]
|
||||
(pr-str d)
|
||||
(pr-str oid))))
|
||||
|
|
|
|||
Loading…
Reference in a new issue