class DiningTable::Presenters::SpreadsheetPresenter

Public Instance Methods

render_header() click to toggle source
# File lib/dining-table/presenters/spreadsheet_presenter.rb, line 16
def render_header
  add_row( header_strings )
end
render_row( object ) click to toggle source
# File lib/dining-table/presenters/spreadsheet_presenter.rb, line 7
def render_row( object )
  values = columns.map do |column|
    value = column.value( object )
    value = clean( value ) if !!options[:clean]
    value
  end
  add_row( values )
end

Private Instance Methods

add_row( row ) click to toggle source
# File lib/dining-table/presenters/spreadsheet_presenter.rb, line 37
def add_row( row )
  raise NotImplementedError
end
clean(string) click to toggle source
# File lib/dining-table/presenters/spreadsheet_presenter.rb, line 41
def clean(string)
  replacements = [['—', '--'], ['–', '-'], [' ', ' '] ]
  base = view_context.strip_tags(string)
  replacements.each do |pattern, replacement|
    base.gsub!(pattern, replacement)
  end
  base
end
header_strings() click to toggle source
# File lib/dining-table/presenters/spreadsheet_presenter.rb, line 29
def header_strings
  columns.map(&:header)
end