class SuperTable::Tableable

Attributes

records[RW]

Public Class Methods

collection(records_name, options={}, &block) click to toggle source
# File lib/super_table/tableable.rb, line 24
def collection(records_name, options={}, &block)
  parent_klass = ancestors.find { |klass|
    klass.respond_to?(:record_klass) && klass.record_klass.present?
  }
  self.record_klass = if parent_klass
    Class.new(parent_klass.record_klass, &block)
  else
    Class.new(SuperTable::Record, &block)
  end

  define_method(records_name) do
    @collection ||= self.records.map { |record| record_klass.new(record) }
  end

  define_method(:collection) do
    send(records_name)
  end
end
column(method_name, title, options={}) click to toggle source
# File lib/super_table/tableable.rb, line 19
def column(method_name, title, options={})
  self.columns ||= {}
  self.columns[method_name] = options.merge(title: title)
end
new(records) click to toggle source
# File lib/super_table/tableable.rb, line 11
def initialize(records)
  self.records = records
end

Public Instance Methods

placeholder() click to toggle source
# File lib/super_table/tableable.rb, line 15
def placeholder; end