Skip to content

kaiserprogrammer/arole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A|Role

Is a system which unifies roles for users. A role can have multiple parentroles.

(let ((*role-db* (make-instance 'memory-db)))
  (add-role :programmer)
  (add-user "john" :programmer)
  (member :programmer (roles "john")))

a more elaborate example

(let ((*role-db* (make-instance 'memory-db)))
  (add-role :student)
  (add-role :coder :parents (list :student))
  (add-user "john" :coder)
  (assert-equal (list :coder :student) (roles "john"))
  (add-role :cowboy-coder :parents (list :manager :coder))
  (add-user "three" :cowboy-coder)
  (assert-equal (list :cowboy-coder :manager :coder :student) (roles "three"))))

About

Unify user roles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published