Sha256: 46c9687aec7b716dbb0fb927092b64025aaf525b03076d3bdc807673c7964679

Contents?: true

Size: 836 Bytes

Versions: 1

Compression:

Stored size: 836 Bytes

Contents

require 'active_support'

module RenderedCsv
  module Controller
    extend ActiveSupport::Concern

    def render_csv(filename = nil, template = nil)
      filename ||= params[:action]
      filename += '.csv'

      if request.env['HTTP_USER_AGENT'] =~ /msie/i
        headers['Pragma'] = 'public'
        headers["Content-Type"] = "text/plain"
        headers['Cache-Control'] = 'no-cache, must-revalidate, post-check=0, pre-check=0'
        headers['Content-Disposition'] = "attachment; filename=\"#{filename}\""
        headers['Expires'] = "0"
      else
        headers["Content-Type"] ||= 'text/csv'
        headers["Content-Disposition"] = "attachment; filename=\"#{filename}\""
      end

      if template.nil?
        render :layout => false
      else
        render template, :layout => false
      end
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rendered_csv-0.1.0 lib/rendered_csv/controller.rb