178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 178
def breadcrumb opts = {}
def format_class arg
arg.to_s.parameterize.underscore.downcase
end
elems = []
part_parents = []
elems << {:link => opts[:root], :label => "Root", :class => "root"} if opts[:root]
parents.compact.each do |elem|
part_parents << elem
elems << {:link => polymorphic_path([opts[:namespace], *part_parents]), :label => elem.to_desc, :class => "action_show #{format_class elem.class}"}
end
if params[:id]
elems << {:link => polymorphic_path([opts[:namespace], *part_parents, resource_class]), :label => resource_class.to_s.pluralize.titleize, :class => "action_index #{format_class resource_class}"}
elems << {:label => resource.to_desc, :active => true, :class => "action_#{params[:action]} #{format_class resource_class}"}
else
elems << {:label => resource_class.to_s.humanize.pluralize.titleize, :active => true, :class => "action_#{params[:action]} #{format_class resource_class}"}
end
"<ol class='breadcrumb'>#{elems.map { |elem|
html_class = elem[:class] || format_class(elem[:label])
elem[:active] ? "<li class='active #{html_class}'>#{elem[:label]}</li>" : "<li class='#{html_class}'>#{link_to elem[:label], elem[:link]}</li>"
}.join("")}</ol>".html_safe
end
|