Class: Sevn::RulesPack

Inherits:
Object
  • Object
show all
Defined in:
lib/sevn/rules_pack.rb

Instance Method Summary collapse

Constructor Details

#initializeRulesPack

Returns a new instance of RulesPack.



3
4
5
6
7
8
# File 'lib/sevn/rules_pack.rb', line 3

def initialize
  @allowed_abilities = general_abilities
  @scoped_abilities = Hash.new { |hash, key| hash[key] = Sevn::Constants::EMPTY_ARRAY }
  @aliases = Sevn::Constants::DEFAULT_ALIASES.merge(action_aliases)
  abilities_check(@allowed_abilities)
end

Instance Method Details

#abilities(object, subject) ⇒ Object



20
21
22
# File 'lib/sevn/rules_pack.rb', line 20

def abilities(object, subject)
  Sevn::Constants::EMPTY_ARRAY
end

#action_aliasesObject



24
25
26
# File 'lib/sevn/rules_pack.rb', line 24

def action_aliases
  Sevn::Constants::EMPTY_HASH
end

#allowed?(object, action, subject) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
13
14
# File 'lib/sevn/rules_pack.rb', line 10

def allowed?(object, action, subject)
  @allowed_abilities.include?(action) ||
  @scoped_abilities[scoped_abilities_key(object, subject)].include?(action) ||
  prepare_and_check_scoped_abilities(object, action, subject)
end

#general_abilitiesObject



16
17
18
# File 'lib/sevn/rules_pack.rb', line 16

def general_abilities
  Sevn::Constants::EMPTY_ARRAY
end