Sha256: 002162eec35bf284d88efa22492d9e7d2b47c2f869065a9cc38a91db10a0ea4d
Contents?: true
Size: 958 Bytes
Versions: 1
Compression:
Stored size: 958 Bytes
Contents
unless defined? Mime::XLSX Mime::Type.register "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", :xlsx end ActionController::Renderers.add :xlsx do |scope, options| columns = options.fetch(:columns, nil) xdata = options[:data] || {} unless (xdata.has_key?(:text) || xdata.has_key?(:url ) || xdata.has_key?(:file) ) xdata[:text] = CloudXLS::CSVWriter.text(scope, {:columns => columns}) end xopts = {:data => xdata} xopts[:sheet] = options[:sheet] if options[:sheet] xopts[:doc] = options[:doc] || {} xopts[:doc][:format] = 'xlsx' response = CloudXLS.xpipe(xopts) redirect_to response.url end # For respond_to default class ActionController::Responder def to_xlsx if options[:stream] == true options[:data] ||= {} options[:data][:url] ||= controller.request.url.gsub(/xlsx\Z/, "csv") end controller.render({:xlsx => resources.last }.merge(options)) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cloudxls-rails-0.4.1 | lib/cloudxls-rails/handlers/xlsx.rb |