Module: QueryReport::Helper
- Defined in:
- lib/query_report/helper.rb
Instance Method Summary collapse
- #generate_csv_for_report(records) ⇒ Object
- #render_report ⇒ Object
- #reporter(query, options = {}, &block) ⇒ Object
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_report ⇒ Object
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, ={}, &block) @report ||= QueryReport::Report.new(params, view_context, ) @report.query = query @report.instance_eval &block render_report end |