I've pushed out a significant update for adi, along with quite a long
readme @ https://github.com/zcaudate/adi
Some highlights:
1. Required keys
(adi/insert! ds {:account {:credits 10}});; => (throws Exception "The following
keys are required: #{:account/user :account/password}")
2. Schema checking
(adi/insert! ds {:account {:user "adi" :password "hello1" :type :vip}});;=>
(throws Exception "(:type :vip) not in schema definition")
3. Restrictions
(adi/insert! ds {:account {:user "adi" :password "hello"}});;=> (throws
Exception "The value hello does not meet the restriction: password needs an
integer to be in the string")
4. Search constraints
(adi/select ds {:account/credits '(> 10)} :first :hide-ids);;=> {:account
{:user "adi3", :password "hello3", :credits 1000, :type :account.type/free}}
5. Data views
(adi/select ds {:account/user "adi1"} :first :hide-ids :view {:account/books
:follow});;=> {:account {:user "adi1", :password "hello1", :credits 0,;;
:books #{{:author "Louis Cha", :name "The Book and the Sword"}}, :type
:account.type/free}}
(adi/select ds {:account/user "adi1"} :first :hide-ids :view {:account/books
:follow
:account/user
:hide
:account/password
:hide
:account/credits
:hide
:account/type
:hide});;=> {:account {:books #{{:author "Louis Cha", :name "The Book and the
Sword"}}}}
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.