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