Class: AuthorizeMe::AbilityChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/authorize_me/ability_checker.rb

Instance Method Summary collapse

Constructor Details

#initialize(ability, target, association, user) ⇒ AbilityChecker

Returns a new instance of AbilityChecker.



3
4
5
6
# File 'lib/authorize_me/ability_checker.rb', line 3

def initialize(ability, target, association, user)
  @ability, @target, @association, @user = ability, target, association, user
  @target = @target.to_s if @target.is_a?(Symbol)
end

Instance Method Details

#checkObject



8
9
10
11
12
13
14
15
# File 'lib/authorize_me/ability_checker.rb', line 8

def check
  return false if access_rule.nil?

  if_condition_met     = access_rule[:if].nil?     || call_method(access_rule[:if])
  unless_condition_met = access_rule[:unless].nil? || !call_method(access_rule[:unless])

  if_condition_met && unless_condition_met
end