Sha256: e595ef5dd960832457ab283fcdcadb0792cb38990d7dc6cfbf5a6da01a5a1bd0
Contents?: true
Size: 976 Bytes
Versions: 3
Compression:
Stored size: 976 Bytes
Contents
require 'tempfile' class WickedPdf class Tempfile < ::Tempfile def initialize(filename, temp_dir = nil) temp_dir ||= Dir.tmpdir extension = File.extname(filename) basename = File.basename(filename, extension) super([basename, extension], temp_dir) end def write_in_chunks(input_string) binmode string_io = StringIO.new(input_string) write(string_io.read(chunk_size)) until string_io.eof? close self rescue Errno::EINVAL => e raise e, file_too_large_message end def read_in_chunks rewind binmode output_string = '' output_string << read(chunk_size) until eof? output_string rescue Errno::EINVAL => e raise e, file_too_large_message end private def chunk_size 1024 * 1024 end def file_too_large_message 'The HTML file is too large! Try reducing the size or using the return_file option instead.' end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
wicked_pdf-2.6.3 | lib/wicked_pdf/tempfile.rb |
wicked_pdf-2.6.2 | lib/wicked_pdf/tempfile.rb |
wicked_pdf-2.6.0 | lib/wicked_pdf/tempfile.rb |