Sha256: 2c7895c2e451410044afbf0b264f6bd66eae0230bab97752433d0e2280cdd9ed

Contents?: true

Size: 1.33 KB

Versions: 1

Compression:

Stored size: 1.33 KB

Contents

require "administrate/base_dashboard"

class <%= class_name %>Dashboard < Administrate::BaseDashboard

  # This method returns a hash
  # that describes the type of each of the model's fields.
  #
  # Each different type represents an Administrate::Field object,
  # which determines how the attribute is displayed
  # on pages throughout the dashboard.
  def attribute_types
    {<% attributes.each do |attr| %>
      <%= attr %>: :<%= field_type(attr) %>,<% end %>
    }
  end

  # This method returns an array of attributes
  # that will be displayed on the model's index page.
  #
  # By default, it's limited to four items to reduce clutter on index pages.
  # Feel free to remove the limit or customize the returned array.
  def table_attributes
    attributes.first(<%= TABLE_ATTRIBUTE_LIMIT %>)
  end

  # This method returns an array of attributes
  # that will be displayed on the model's show page
  def show_page_attributes
    attributes
  end

  # This method returns an array of attributes
  # that will be displayed on the model's form pages (`new` and `edit`)
  def form_attributes
    attributes - read_only_attributes
  end

  private

  def attributes
    [<% attributes.each do |attribute| %>
      :<%= attribute %>,<% end %>
    ]
  end

  def read_only_attributes
    [
      :id,
      :created_at,
      :updated_at,
    ]
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
administrate-0.0.6 lib/generators/administrate/dashboard/templates/dashboard.rb.erb