Sha256: 73bf4472b9fba8ed35f1d3d1b18c15930af0e5698b37bfd51eea38afab7312cb

Contents?: true

Size: 966 Bytes

Versions: 2

Compression:

Stored size: 966 Bytes

Contents

require "useful_renderers/version"
require 'useful_renderers/csv_renderable'
require 'useful_renderers/zip_renderable'
require 'action_controller/metal/renderers'

module UsefulRenderers
  class RenderUsefulRailtie < ::Rails::Railtie
    config.after_initialize do

      ActionController.add_renderer :csv do |csv, options|
        filename = options[:filename] || options[:template]
        csv.extend UsefulRenderers::CsvRenderable
        data = csv.respond_to?(:to_csv) ? csv.to_csv(options) : csv
        send_data data, type: Mime::CSV, disposition: "attachment; filename=#{filename}.csv"
      end

      ActionController.add_renderer :zip do |csv, options|
        filename = options[:filename] || options[:template]
        csv.extend UsefulRenderers::ZipRenderable
        data = csv.respond_to?(:to_zip) ? csv.to_csv(options) : csv
        send_data data, type: Mime::Zip, disposition: "attachment; filename=#{filename}.zip"
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
useful_renderers-0.0.3 lib/useful_renderers.rb
useful_renderers-0.0.2 lib/useful_renderers.rb