module ActiveAdmin::ViewHelpers::DisplayHelper

def display_name(resource)

as possible.
Tries to display an object with as friendly of output
def display_name(resource)
  resource.send(display_name_method_for(resource))
end

def display_name_method_for(resource)

def display_name_method_for(resource)
  @@display_name_methods_cache ||= {}
  @@display_name_methods_cache[resource.class] ||= 
    active_admin_application.display_name_methods.find{|method| resource.respond_to? method }
end

def pretty_format(object)

We attempt to #display_name of any other objects
ActiveRecord objects are formatted via #auto_link
Date Time are formatted via #localize with :format => :long
Return a pretty string for any object
def pretty_format(object)
  case object
  when String
    object
  when Arbre::Element
    object
  when Date, Time
    localize(object, :format => :long)
  when ActiveRecord::Base
    auto_link(object)
  else
    display_name(object)
  end
end