Class: Admission::PrivilegesOrder

Inherits:
Object
  • Object
show all
Defined in:
lib/admission/privileges_order.rb

Defined Under Namespace

Classes: Definer

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(index) ⇒ PrivilegesOrder

Returns a new instance of PrivilegesOrder.



5
6
7
# File 'lib/admission/privileges_order.rb', line 5

def initialize index
  @index = index
end

Instance Attribute Details

#indexObject (readonly)

Returns the value of attribute index.



3
4
5
# File 'lib/admission/privileges_order.rb', line 3

def index
  @index
end

Instance Method Details

#entitled_for(ref_privilege) ⇒ Object



22
23
24
# File 'lib/admission/privileges_order.rb', line 22

def entitled_for ref_privilege
  to_list.select{|privilege| privilege.eql_or_inherits? ref_privilege}
end

#get(name, level = nil) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/admission/privileges_order.rb', line 9

def get name, level=nil
  levels = index[name.to_sym] || return
  if level && !level.empty?
    levels[level.to_sym]
  else
    levels[Admission::Privilege::BASE_LEVEL_NAME]
  end
end

#to_listObject



18
19
20
# File 'lib/admission/privileges_order.rb', line 18

def to_list
  @list ||= index.values.map(&:values).flatten.uniq
end