class OldSql::ShellReportFacade

Public Class Methods

run_report(report, env, start_date, end_date, clean) click to toggle source
# File lib/old_sql/shell_report_facade.rb, line 5
  def self.run_report(report, env, start_date, end_date, clean)
  template = File.read("#{OldSql::ReportDesign::Parser.report_design_path}/../reports.yml")
  report_config = YAML.load(Erubis::Eruby.new(template).result)[report] 
  
  Rails.env = env
  set_logger
  set_connection(env)
  
  base_parser = OldSql::ReportProcessor::Base.new
  data = base_parser.execute_query(report_config,start_date,end_date,nil)
                                   
  print_header(report, start_date, end_date, clean)
  print_data(data, report_config['fields'], clean)
  print_footer(clean)
end

Private Class Methods

print_data(data, fields, clean) click to toggle source
print_fields(fields, clean) click to toggle source
print_header(report, start_date, end_date, clean) click to toggle source
set_connection(env) click to toggle source
# File lib/old_sql/shell_report_facade.rb, line 72
def self.set_connection(env)
  dbconfig = YAML::load(Erubis::Eruby.new(File.read(Rails.root.join("config/database.yml"))).result)
  ActiveRecord::Base.establish_connection(dbconfig[env])
end
set_logger() click to toggle source
# File lib/old_sql/shell_report_facade.rb, line 66
def self.set_logger
  if defined?(Rails)
    Rails.logger = Logger.new(STDOUT)
  end
end