Sha256: b85bb51c406e1b9fb9a7ddc57a8702a08a44327154cee09147346596eaa0b270
Contents?: true
Size: 755 Bytes
Versions: 11
Compression:
Stored size: 755 Bytes
Contents
module SimpleAdmin class Breadcrumbs # Returns an array of links to use in a breadcrumb def self.parse(path, action) parts = path.gsub(/^\//, '').split('/') parts.pop unless %w{ create update }.include?(action) crumbs = [] parts.each_with_index do |part, index| name = "" if part =~ /^\d/ && parent = parts[index - 1] begin parent_class = parent.singularize.camelcase.constantize obj = parent_class.find(part.to_i) name = obj.display_name if obj.respond_to?(:display_name) rescue end end name = part.titlecase if name == "" crumbs << [name, "/" + parts[0..index].join('/')] end crumbs end end end
Version data entries
11 entries across 11 versions & 1 rubygems