module ActiveAdmin::Resource::Attributes

Public Instance Methods

counter_cache_col?(c) click to toggle source
# File lib/active_admin/resource/attributes.rb, line 38
def counter_cache_col?(c)
  c.name.end_with?('_count')
end
default_attributes() click to toggle source
# File lib/active_admin/resource/attributes.rb, line 6
def default_attributes
  resource_class.columns.each_with_object({}) do |c, attrs|
    unless reject_col?(c)
      name = c.name.to_sym
      attrs[name] = (method_for_column(name) || name)
    end
  end
end
foreign_methods() click to toggle source
# File lib/active_admin/resource/attributes.rb, line 19
def foreign_methods
  @foreign_methods ||= resource_class.reflect_on_all_associations.
    select{ |r| r.macro == :belongs_to }.
    reject{ |r| r.chain.length > 2 && !r.options[:polymorphic] }.
    index_by{ |r| r.foreign_key.to_sym }
end
method_for_column(c) click to toggle source
# File lib/active_admin/resource/attributes.rb, line 15
def method_for_column(c)
  resource_class.respond_to?(:reflect_on_all_associations) && foreign_methods.has_key?(c) && foreign_methods[c].name.to_sym
end
primary_col?(c) click to toggle source
# File lib/active_admin/resource/attributes.rb, line 30
def primary_col?(c)
  c.name == resource_class.primary_key
end
reject_col?(c) click to toggle source
# File lib/active_admin/resource/attributes.rb, line 26
def reject_col?(c)
  primary_col?(c) || sti_col?(c) || counter_cache_col?(c)
end
sti_col?(c) click to toggle source
# File lib/active_admin/resource/attributes.rb, line 34
def sti_col?(c)
  c.name == resource_class.inheritance_column
end