Class: Riptables::RoleCondition

Inherits:
Condition show all
Defined in:
lib/riptables/role_condition.rb

Instance Attribute Summary

Attributes inherited from Condition

#condition

Instance Method Summary collapse

Methods inherited from Condition

#call, conditions, #initialize

Constructor Details

This class inherits a constructor from Riptables::Condition

Instance Method Details

#matches?(conditions) ⇒ Boolean

Returns:

  • (Boolean)


6
7
8
9
10
11
12
13
# File 'lib/riptables/role_condition.rb', line 6

def matches?(conditions)
  return false unless conditions[:role]
  roles = conditions[:role].split(/\s?\,\s?/)
  roles.each do |role|
    return true if condition.any? { |c|  c.is_a?(Regexp) ? c.match(role) : role.to_s == c.to_s }
  end
  return false
end