module Allowy::Context
This module provides the default and common context for checking the permissions. It is mixed into controllers in Rails by default and provides an easy way to reuse it in other parts of the application (RSpec
, Cucumber or standalone). For example, you can use this code in your Cucumber features:
@example class CucumberContext include Allowy::Context attr_accessor :current_user def initialize(user) @current_user = user end
And then you can easily check the permissions like so:
@example CucumberContext.new(that_user).can?(:create, Blog) CucumberContext.new(that_user).should be_able_to :create, Blog
Public Instance Methods
allowy_context()
click to toggle source
# File lib/allowy/context.rb, line 26 def allowy_context self end
can?(action, subject, *args)
click to toggle source
# File lib/allowy/context.rb, line 34 def can?(action, subject, *args) current_allowy.access_control_for!(subject).can?(action, subject, *args) end
cannot?(action, subject, *args)
click to toggle source
# File lib/allowy/context.rb, line 38 def cannot?(action, subject, *args) current_allowy.access_control_for!(subject).cannot?(action, subject, *args) end
current_allowy()
click to toggle source
# File lib/allowy/context.rb, line 30 def current_allowy @current_allowy ||= ::Allowy::Registry.new(allowy_context) end