Class: AbAdmin::Menu::Item

Inherits:
Object show all
Defined in:
lib/ab_admin/menu/item.rb

Instance Method Summary collapse

Constructor Details

#initialize(title, url, options) ⇒ Item

Returns a new instance of Item.



4
5
6
7
8
# File 'lib/ab_admin/menu/item.rb', line 4

def initialize(title, url, options)
  @title = title.is_a?(Symbol) ? I18n.t(title, scope: [:admin, :navigation]) : title
  @url = url
  @options = options
end

Instance Method Details

#render(template) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/ab_admin/menu/item.rb', line 10

def render(template)
  return unless template.option_conditions_met?(@options)

  item_url = @url.is_a?(String) ? @url : template.instance_exec(&@url)
  active = template.request.path.split('/')[2] == item_url.split('/')[2]

  <<-HTML.html_safe
    <li class="#{'active' if active}">#{template.link_to title(template), item_url, @options.except(:if, :unless, :badge)}</li>
  HTML
end