-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
README should provide promised "cannot" example. #48
Comments
Hey @jrochkind! You are correct, there was an example of |
Thanks! I actually could really use a cannot example! I tried looking through README history, this seems to be the last version that still has a https://github.com/chaps-io/access-granted/blob/d0079b7648fe60a2341b914727189a9c67d44df9/README.md |
Okay so I'll try to explain it here, and if it makes sense I'll put it in README: tldr; Access Granted traverses roles top to bottom, as soon as it finds a matching In the example below let's assume we want to disallow banned members from posting (and only from posting) on our forum: role :banned, { is_banned: true } do
cannot :create, Post
end
role :member do
can :create, Post
# (some other permissions here)
end
end we put Steps of the logic would look as follows:
|
This is actually quite helpful, yeah. It explains what you mean by about the importance of order too, which I was confused about too. "as soon as it finds a matching can/cannot in one of the roles it stops looking at the roles below it." -- that's the important part. Thanks! |
Glad I could help 👍 |
README says:
However, no example is actually given of
cannot
in Usage or elsewhere. Controller/view methodcannot?
is described, but not the quite differentcannot
method in permission definitions.At first I thought
cannot
was maybe not actually there, the README reference was wrong or I misunderstood it.But then I saw it in the specs. Apparently it does exist, hooray!
But the README needs a short explained example as promised. :)
The text was updated successfully, but these errors were encountered: