Sha256: 585ebf1100c101eae0d370af74be4aa4fddd1c37b8098632c959def616521c01

Contents?: true

Size: 1 KB

Versions: 8

Compression:

Stored size: 1 KB

Contents

module ActiveAdmin
  module ViewHelpers
    module BreadcrumbHelper

      # Returns an array of links to use in a breadcrumb
      def breadcrumb_links(path = request.path)
        parts = path[1..-1].split('/') # remove leading "/" and split up the URL
        parts.pop                      # remove last since it's used as the page title

        parts.each_with_index.map do |part, index|
          # 1. try using `display_name` if we can locate a DB object
          # 2. try using the model name translation
          # 3. default to calling `titlecase` on the URL fragment
          if part =~ /\A(\d+|[a-f0-9]{24})\z/ && parts[index-1]
            config = active_admin_config.belongs_to_config.try(:target) || active_admin_config
            name   = display_name config.find_resource(part)
          end
          name ||= I18n.t "activerecord.models.#{part.singularize}", :count => 1.1, :default => part.titlecase

          link_to name, '/' + parts[0..index].join('/')
        end
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 3 rubygems

Version Path
yousty-activeadmin-1.0.4.pre lib/active_admin/view_helpers/breadcrumb_helper.rb
yousty-activeadmin-1.0.3.pre lib/active_admin/view_helpers/breadcrumb_helper.rb
yousty-activeadmin-1.0.2.pre lib/active_admin/view_helpers/breadcrumb_helper.rb
yousty-activeadmin-1.0.1.pre lib/active_admin/view_helpers/breadcrumb_helper.rb
yousty-activeadmin-1.0.0.pre lib/active_admin/view_helpers/breadcrumb_helper.rb
activeadmin-0.6.2 lib/active_admin/view_helpers/breadcrumb_helper.rb
activeadmin-0.6.1 lib/active_admin/view_helpers/breadcrumb_helper.rb
aa-rails4-0.6.0 lib/active_admin/view_helpers/breadcrumb_helper.rb