Sha256: 58be1c8c271da65c2f35074258664e8cd4ce8e95efd2ebf79c5aa1741995d230
Contents?: true
Size: 835 Bytes
Versions: 25
Compression:
Stored size: 835 Bytes
Contents
module Tenon module NavHelper def nav_item(text, path_object, icon_class, link_opts = {}) path = path(path_object) content = link(text, path, icon_class, link_opts) content_tag(:li, content) end private def path(path_object) if path_object.is_a?(Class) path_object else path_object end end def link(text, path, icon_class, opts = {}) content = content_tag(:i, '', class: "fa fa-#{icon_class} fa-fw") content += text opts[:class] ||= '' opts[:title] ||= text opts[:class] += " #{active_class(path, opts[:active])}" link_to(content, path, opts) end def active_class(path, active) path = url_for(path).split('/')[0..2].join('/')[1..-1] 'active' if active || path == controller_path end end end
Version data entries
25 entries across 25 versions & 1 rubygems