class ActiveAdmin::Generators::Boilerplate

def assignable_attributes

def assignable_attributes
  attributes - %w(id created_at updated_at)
end

def attributes

def attributes
  @class_name.constantize.new.attributes.keys
end

def column(name)

def column(name)
  "#   column :#{name.gsub(/_id$/, '')}"
end

def columns

def columns
  attributes.map { |a| column(a) }.join("\n  ")
end

def filter(name)

def filter(name)
  "# filter :#{name.gsub(/_id$/, '')}"
end

def filters

def filters
  attributes.map { |a| filter(a) }.join("\n  ")
end

def form_input(name)

def form_input(name)
  "#     f.input :#{name.gsub(/_id$/, '')}"
end

def form_inputs

def form_inputs
  assignable_attributes.map { |a| form_input(a) }.join("\n  ")
end

def initialize(class_name)

def initialize(class_name)
  @class_name = class_name
end

def permit_params

def permit_params
  assignable_attributes.map { |a| a.to_sym.inspect }.join(', ')
end

def row(name)

def row(name)
  "#   row :#{name.gsub(/_id$/, '')}"
end

def rows

def rows
  attributes.map { |a| row(a) }.join("\n  ")
end