Sha256: 7bfb64bf1fe08c95477a770f09e445c5377911ded8b9c38f1942254bd070bd49
Contents?: true
Size: 1.53 KB
Versions: 1
Compression:
Stored size: 1.53 KB
Contents
module Breadcrumble module ActionController extend ActiveSupport::Concern included do helper_method :add_breadcrumb, :breadcrumbs, :breadcrumb_trails end module ClassMethods def add_breadcrumb name, url = nil, filter_options = {} before_filter do |controller| controller.send :add_breadcrumb, name, url end end def add_breadcrumb_to name, url, trail_index, filter_options = {} before_filter(filter_options) do |controller| controller.send :add_breadcrumb_to, name, url, trail_index end end def add_breadcrumbs *args before_filter do |controller| args.each do |arg| controller.send :add_breadcrumb, arg[0], arg[1] end end end end protected def add_breadcrumb name, url = nil add_breadcrumb_to name, url, 0 end def add_breadcrumb_to name, url, trail_index @breadcrumb_trails ||= [[]] @breadcrumb_trails[trail_index] ||= [] @breadcrumb_trails[trail_index] << { name: case name when Proc then name.call(self) else name end, url: case url when Proc then url.call(self) else url ? url_for(url) : nil end } end def add_breadcrumbs *args args.each do |arg| add_breadcrumb arg[0], arg[1] end end def breadcrumb_trails @breadcrumb_trails end def breadcrumbs @breadcrumb_trails.first end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
breadcrumble-3.0.4 | lib/breadcrumble/action_controller.rb |