Thanks for the great gem. Love the simplicity of it, yet does everything you'd need.
The way it expected there to always be a current_user was getting to me though so I've made this change to raise the transgression error (instead of no method on nil error) when the current_user is nil (ie. nobody's logged in).
I've updated the tests accordingly. The old tests btw all passed with the change in place, so the new ones are to prevent regression.
I also added a bit of help on adding checks on class methods as I think it's probably a common thing.
Default to Canable::Transgression when the current_user is nil.
Looks like 2 changes in one, which confused me for a bit, but I think I'm good with this. I'll check it out locally and let you know. Thanks!