Class: SqlReporter::ReporterFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/sql_reporter/reporter_factory.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeReporterFactory

Returns a new instance of ReporterFactory.



5
6
7
# File 'lib/sql_reporter/reporter_factory.rb', line 5

def initialize
  @parser_hsh = SqlReporter::Parser.parse
end

Instance Attribute Details

#parser_hshObject (readonly)

Returns the value of attribute parser_hsh.



3
4
5
# File 'lib/sql_reporter/reporter_factory.rb', line 3

def parser_hsh
  @parser_hsh
end

Instance Method Details

#excel_reporterObject



42
43
44
# File 'lib/sql_reporter/reporter_factory.rb', line 42

def excel_reporter
  SqlReporter::Reporters::ExcelReporter.new(parser_hsh)
end

#for_formatObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/sql_reporter/reporter_factory.rb', line 9

def for_format
  case parser_hsh[:format]
  when 'log'
    log_reporter
  when 'json'
    json_reporter
  when 'png'
    plot_reporter
  when 'pdf'
    pdf_reporter
  when 'xls'
    excel_reporter
  else
    pdf_reporter
  end
end

#json_reporterObject



30
31
32
# File 'lib/sql_reporter/reporter_factory.rb', line 30

def json_reporter
  SqlReporter::Reporters::JsonReporter.new(parser_hsh)
end

#log_reporterObject



26
27
28
# File 'lib/sql_reporter/reporter_factory.rb', line 26

def log_reporter
  SqlReporter::Reporters::LogReporter.new(parser_hsh)
end

#pdf_reporterObject



38
39
40
# File 'lib/sql_reporter/reporter_factory.rb', line 38

def pdf_reporter
  SqlReporter::Reporters::PdfReporter.new(parser_hsh)
end

#plot_reporterObject



34
35
36
# File 'lib/sql_reporter/reporter_factory.rb', line 34

def plot_reporter
  SqlReporter::Reporters::PlotReporter.new(parser_hsh)
end