Sha256: 9c60b4fdd0138dcad6d4fcb5a1c315058a3b24be47df4212403b64f1ef4165bb
Contents?: true
Size: 670 Bytes
Versions: 12
Compression:
Stored size: 670 Bytes
Contents
require "csv" module RailsPerformance module Concerns module CsvExportable extend ActiveSupport::Concern def export_to_csv(filename, data) return if data.blank? send_data generate_csv(data), filename: "#{filename}_#{Time.zone.today}.csv", type: "text/csv", disposition: "attachment" end private def generate_csv(data) CSV.generate(headers: true) do |csv| headers = data.first.keys csv << headers.map(&:to_s) data.each do |entry| csv << headers.map { |header| entry[header].to_s } end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems