lib/generators/administrate/dashboard/templates/dashboard.rb.erb in administrate-0.0.7 vs lib/generators/administrate/dashboard/templates/dashboard.rb.erb in administrate-0.0.8

- old
+ new

@@ -1,53 +1,37 @@ require "administrate/base_dashboard" class <%= class_name %>Dashboard < Administrate::BaseDashboard + READ_ONLY_ATTRIBUTES = [ + :id, + :created_at, + :updated_at, + ] - # This method returns a hash - # that describes the type of each of the model's fields. + # ATTRIBUTE_TYPES + # 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 + ATTRIBUTE_TYPES = { +<% attributes.each do |attr| -%> + <%= attr %>: <%= field_type(attr) %>, +<% end -%> + } - # This method returns an array of attributes - # that will be displayed on the model's index page. + # TABLE_ATTRIBUTES + # 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 + TABLE_ATTRIBUTES = ATTRIBUTE_TYPES.keys.first(<%= TABLE_ATTRIBUTE_LIMIT %>) - # This method returns an array of attributes - # that will be displayed on the model's show page - def show_page_attributes - attributes - end + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = ATTRIBUTE_TYPES.keys - # 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 + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = ATTRIBUTE_TYPES.keys - READ_ONLY_ATTRIBUTES end