Class: Spree::ReportGenerationService

Inherits:
Object
  • Object
show all
Defined in:
app/services/spree/report_generation_service.rb

Class Method Summary collapse

Class Method Details

.download(report, options = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'app/services/spree/report_generation_service.rb', line 15

def self.download(report, options = {})
  headers = report.headers
  stats = report.observations
  ::CSV.generate(options) do |csv|
    csv << headers.map { |head| head[:name] }
    stats.each do |record|
      csv << headers.map { |head| record.public_send(head[:value]) }
    end
  end
end

.generate_report(report_name, options) ⇒ Object



9
10
11
12
13
# File 'app/services/spree/report_generation_service.rb', line 9

def self.generate_report(report_name, options)
  klass = Spree.const_get((report_name.to_s + '_report').classify)
  resource = klass.new(options)
  dataset = resource.generate
end