module Granite::Action::Policies::ClassMethods

Public Instance Methods

allow_if(&block) click to toggle source

The simplies policy. Takes block and executes it returning boolean result. Multiple policies are reduced with ||

class Action < Granite::Action
  allow_if { performer.is_a?(Recruiter) }
  allow_if { performer.is_a?(AdvancedRecruiter) }
end

The first argument in block is a current action performer, so it is possible to use a short-cut performer methods:

class Action < Granite::Action
  allow_if(&:staff?)
end
# File lib/granite/action/policies.rb, line 49
def allow_if(&block)
  self._policies += [block]
end
allow_self() click to toggle source
# File lib/granite/action/policies.rb, line 53
def allow_self
  allow_if { performer == subject }
end