Sha256: d046b4851c2490c5542ffaf77cc243648f3e21cd515a94046f5f1c500e46032b
Contents?: true
Size: 989 Bytes
Versions: 3
Compression:
Stored size: 989 Bytes
Contents
module Trestle class Table class Automatic < Table def initialize(admin) super(sortable: true, admin: admin) @admin = admin end def columns content_columns + [actions_column] end def content_columns @admin.default_attributes.map.with_index do |attribute, index| next if attribute.inheritance_column? next if attribute.counter_cache? if attribute.association? Column.new(self, attribute.association_name, sort: false) elsif attribute.text? Column.new(self, attribute.name, link: index.zero?) do |instance| truncate(instance.public_send(attribute.name)) end else Column.new(self, attribute.name, link: index.zero?, align: (:center if attribute.datetime? || attribute.boolean?)) end end.compact end def actions_column ActionsColumn.new(self) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
trestle-0.8.3 | lib/trestle/table/automatic.rb |
trestle-0.8.2 | lib/trestle/table/automatic.rb |
trestle-0.8.0 | lib/trestle/table/automatic.rb |