Module: RailsExcelReporter::ControllerHelpers

Defined in:
lib/rails_excel_reporter/controller_helpers.rb

Instance Method Summary collapse

Instance Method Details

#excel_report_response(report, options = {}) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/rails_excel_reporter/controller_helpers.rb', line 20

def excel_report_response(report, options = {})
  if report.should_stream?
    stream_excel_report report, options
  else
    send_excel_report report, options
  end
end

#send_excel_report(report, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/rails_excel_reporter/controller_helpers.rb', line 3

def send_excel_report(report, options = {})
  filename = options[:filename] || report.filename
  disposition = options[:disposition] || 'attachment'

  send_data \
    report.to_xlsx,
    filename: filename,
    type: excel_content_type,
    disposition: disposition
end

#stream_excel_report(report, options = {}) ⇒ Object



14
15
16
17
18
# File 'lib/rails_excel_reporter/controller_helpers.rb', line 14

def stream_excel_report(report, options = {})
  filename = options[:filename] || report.filename
  set_excel_response_headers filename
  self.response_body = report.stream
end