Sha256: e61f7172c3d4d49794eb07a637fed0000b0750066282a587e1d32fe0999f14ec

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

require 'table_go/version'

module TableGo
  autoload :Table, 'table_go/table'
  autoload :Column, 'table_go/column'
  autoload :TableRenderer, 'table_go/table_renderer'
  autoload :Renderers, 'table_go/renderers'
  autoload :Formatter, 'table_go/formatter'
  autoload :Helpers, 'table_go/helpers'


  def self.render_html(collection, model_klass, template, options = {}, &block)
    render(collection, model_klass, Renderers::HtmlRenderer, template, options, &block)
  end

  def self.render_csv(collection, model_klass, options = {}, &block)
    render(collection, model_klass, Renderers::CsvRenderer, nil, options, &block)
  end

  def self.render(collection, model_klass, renderer_klass, template, options = {}, &block)
    table     = Table.new(collection.respond_to?(:each) ? collection : [collection], model_klass, options, &block)
    renderer  = TableRenderer.new(table)
    renderer.renderer_klass = renderer_klass
    renderer.template       = template
    renderer.render_template
  end

  def self.formatters
    Formatter.formatters
  end

end


require 'table_go/railtie' if defined?(Rails)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
table_go-0.2.4 lib/table_go.rb