Sha256: 3e10d3f82d3db03f6c3f510541923c723b8dd5d1ccb3d3331b0a33bfc92fff1f
Contents?: true
Size: 980 Bytes
Versions: 1
Compression:
Stored size: 980 Bytes
Contents
require 'action_controller' unless defined? Mime::XLSX Mime::Type.register "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", :xlsx end ActionController::Renderers.add :xlsx do |filename, options| unless formats.include?(:xlsx) || Rails.version < '3.2' formats[0] = :xlsx end if filename =~ /^\/([^\/]+)\/(.+)$/ options[:prefixes][0] = $1 filename = $2 end options[:template] = filename disposition = options.delete(:disposition) || 'attachment' download_name = options.delete(:filename) || "#{filename}.xlsx" download_name += ".xlsx" unless download_name =~ /\.xlsx$/ send_data render_to_string(options), :filename => download_name, :type => Mime::XLSX, :disposition => disposition end # For respond_to default class ActionController::Responder def to_xlsx if @default_response @default_response.call(options) else controller.render({:xlsx => controller.action_name}.merge(options)) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
axlsx_rails-0.1.5 | lib/axlsx_rails/action_controller.rb |