class DisplayFor::Builder::Table

Public Instance Methods

build_actions(resource) click to toggle source
# File lib/display_for/builder/table.rb, line 26
def build_actions(resource)
  result = []

  @actions.each do |action|
    result << action.content(resource)
  end

  result.join("&nbsp;").html_safe
end
build_header() click to toggle source
# File lib/display_for/builder/table.rb, line 4
def build_header
  result = ''
  @attributes.each do |attribute|
    result << content_tag(:th, attribute.label(@resource_class), :class => "col_#{attribute.name}".underscore)
  end
  result << content_tag(:th, "Actions", :class => 'actions') if @actions.any?

  content_tag(:thead, content_tag(:tr, result.html_safe)) << "\n"
end
build_row(resource) click to toggle source
# File lib/display_for/builder/table.rb, line 14
def build_row(resource)
  result = ''
  @attributes.each do |attribute|
    result << content_tag(:td, attribute.content(resource), attribute.html_options)
  end
  result << content_tag(:td, build_actions(resource)) if @actions.any?

  options = {}
  options[:id] = "#{@resource_class}_#{resource.id}".underscore if resource
  content_tag(:tr, result.html_safe, options) << "\n"
end
to_s() click to toggle source
# File lib/display_for/builder/table.rb, line 36
def to_s
  result = "\n".html_safe
  
  @collection.each do |resource|
    result << build_row(resource)
  end

  result = build_header + content_tag(:tbody, result)

  if @footer
    result << content_tag(:tfoot, @footer.build_row(nil))
  end

  html_options[:class] ||= "table table-bordered table-striped #{@resource_class.to_s.underscore}-table"
  content_tag(:table, result, html_options).html_safe
end