Clj-schema is a library for defining and validating schemas for maps, as
well as for using those schemas to create valid test data.  We've been
using this in production for at least a few months now, at Runa.

https://github.com/runa-dev/clj-schema

The main benefits I've found from using this library are:
* validating the inputs to the application: validating Ring request params
and config files
* validating before storing maps into the DB
* using the clj-schema.fixtures library to create valid test data that
stays valid.  So as the standard form of a map changes over time the tests
will stay in sync with those changes automatically.
* there are some code-readability benefits as well - any developer can
pretty quickly see what certain kinds of maps tend to look like.

There's more info in the README:
https://github.com/runa-dev/clj-schema/blob/master/README.md

Future possibilities:
* auto-generating test data from clj-schema fixtures
* being able to create schemas for sets and sequences (currently a schema
is always for a map)

Contributors welcome.

Alex

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to