Sha256: 3335c2a78b1c82a3c5449b7e9230a310d08869ae863d2d76a19eed639f40cdf4

Contents?: true

Size: 534 Bytes

Versions: 3

Compression:

Stored size: 534 Bytes

Contents

require 'rails_csv_renderer/renderable'
require 'action_controller/metal/renderers'

module RailsCsvRenderer
  class Renderer
    def self.initialize!
      ActionController::Renderers.add(:csv) do |obj, options|
        filename = options[:filename] || "#{ Rails.application.class.parent_name }-report-#{ Time.current }.csv"
        obj.extend RailsCsvRenderer::Renderable
        data = obj.to_custom_csv(options)
        send_data(data, type: Mime::CSV, disposition: "attachment; filename=#{filename}")
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails_csv_renderer-0.2.3 lib/rails_csv_renderer/renderer.rb
rails_csv_renderer-0.2.2 lib/rails_csv_renderer/renderer.rb
rails_csv_renderer-0.2.1 lib/rails_csv_renderer/renderer.rb