module EasyBreadcrumbs::AutoDetect

Constants

COMMON_NAME_ATTRIBUTES

Public Instance Methods

detect_name(resource) click to toggle source
# File lib/easy_breadcrumbs/auto_detect.rb, line 5
def detect_name(resource)
  name_attribute = find_common_accessor_method(resource)
  return resource[name_attribute] if name_attribute

  name_attribute = find_common_hash_symbol(resource)
  return resource[name_attribute] if name_attribute
end

Private Instance Methods

find_common_accessor_method(resource) click to toggle source
# File lib/easy_breadcrumbs/auto_detect.rb, line 15
def find_common_accessor_method(resource)
  COMMON_NAME_ATTRIBUTES.find do |method|
    resource.respond_to?(method)
  end
end
find_common_hash_symbol(resource) click to toggle source
# File lib/easy_breadcrumbs/auto_detect.rb, line 21
def find_common_hash_symbol(resource)
  COMMON_NAME_ATTRIBUTES.find do |method|
    resource.key?(method)
  end
end