Sha256: 77b00ff735acb532376141da3809c0dd2a5af72f129d7ec9df245e5ac500f323

Contents?: true

Size: 849 Bytes

Versions: 1

Compression:

Stored size: 849 Bytes

Contents

require 'active_support/core_ext'

require 'report/version'
require 'report/utils'

require 'report/table'
require 'report/filename'
require 'report/formatter'
require 'report/template'
require 'report/head'
require 'report/body'
require 'report/xlsx'
require 'report/csv'
require 'report/pdf'

class Report
  class << self
    attr_accessor :tables
    attr_accessor :pdf_format
    attr_accessor :xlsx_format

    def table(table_name, &blk)
      tables << Table.new(table_name, &blk)
    end

    def format_pdf(hsh)
      self.pdf_format = hsh
    end

    def format_xlsx(&blk)
      self.xlsx_format = blk
    end

    def inherited(klass)
      klass.tables = []
      klass.pdf_format = {}
    end
  end

  def csv
    @csv ||= Csv.new self
  end

  def xlsx
    @xlsx ||= Xlsx.new self
  end

  def pdf
    @pdf ||= Pdf.new self
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
report-0.0.1 lib/report.rb