Class: ReportsKit::ReportsController

Inherits:
BaseController
  • Object
show all
Defined in:
lib/reports_kit/reports_controller.rb

Constant Summary collapse

VALID_PARAMS_PROPERTIES_KEYS =
[:ui_filters]

Instance Method Summary collapse

Methods inherited from BaseController

#context_record

Instance Method Details

#context_paramsObject



33
34
35
# File 'lib/reports_kit/reports_controller.rb', line 33

def context_params
  params[:context_params]
end

#indexObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/reports_kit/reports_controller.rb', line 8

def index
  respond_to do |format|
    format.json do
      render json: { data: report_data }
    end
    format.csv do
      properties[:format] = 'csv'
      csv = CSV.generate do |csv|
        report_data[:table_data].each do |row|
          csv << row
        end
      end
      send_data csv, filename: "#{report_filename}.csv"
    end
    format.xls do
      properties[:format] = 'csv'
      send_data xls_string, filename: "#{report_filename}.xls", type:  'application/vnd.ms-excel'
    end
  end
end

#report_keyObject

Raises:

  • (ArgumentError)


37
38
39
40
# File 'lib/reports_kit/reports_controller.rb', line 37

def report_key
  raise ArgumentError.new('Blank report_params') if report_params.blank?
  report_params[:key]
end

#report_paramsObject



29
30
31
# File 'lib/reports_kit/reports_controller.rb', line 29

def report_params
  params[:report_params]
end