Class: Releaf::Permissions::Page::MenuBuilder

Inherits:
Builders::Page::MenuBuilder
  • Object
show all
Defined in:
app/builders/releaf/permissions/page/menu_builder.rb

Instance Method Summary collapse

Instance Method Details

#access_controlObject



19
20
21
# File 'app/builders/releaf/permissions/page/menu_builder.rb', line 19

def access_control
  @access_control ||= Releaf.application.config.permissions.access_control.new(user: controller.user)
end

#controller_permitted?(controller_name) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'app/builders/releaf/permissions/page/menu_builder.rb', line 15

def controller_permitted?(controller_name)
  access_control.controller_permitted?(controller_name)
end


3
4
5
# File 'app/builders/releaf/permissions/page/menu_builder.rb', line 3

def menu_item(item)
  super if menu_item_permitted?(item)
end

Returns:

  • (Boolean)


7
8
9
10
11
12
13
# File 'app/builders/releaf/permissions/page/menu_builder.rb', line 7

def menu_item_permitted?(item)
  if item.group?
    item.controllers.find{|subitem| controller_permitted?(subitem.controller_name) }.present?
  else
    controller_permitted?(item.controller_name)
  end
end