Module: QueryReport::Helper

Defined in:
lib/query_report/helper.rb

Instance Method Summary collapse

Instance Method Details

#generate_csv_for_report(records) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/query_report/helper.rb', line 22

def generate_csv_for_report(records)
  if records.size > 0
    columns = records.first.keys
    CSV.generate do |csv|
      csv << columns
      records.each do |record|
        csv << record.values
      end
    end
  else
    nil
  end
end

#render_reportObject



12
13
14
15
16
17
18
19
20
# File 'lib/query_report/helper.rb', line 12

def render_report
  respond_to do |format|
    format.js { render 'query_report/list' }
    format.html { render 'query_report/list' }
    format.json { render json: @report.records }
    format.csv { send_data generate_csv_for_report(@report.all_records), :disposition => "attachment;" }
    format.pdf { render_pdf(ReportPdf.new(@report).standard) }
  end
end

#reporter(query, options = {}, &block) ⇒ Object



5
6
7
8
9
10
# File 'lib/query_report/helper.rb', line 5

def reporter(query, options={}, &block)
  @report ||= QueryReport::Report.new(params, view_context, options)
  @report.query = query
  @report.instance_eval &block
  render_report
end