Sha256: 923893d02db295a4a94e0e0dcf15cae93b13fef740e8d3826d9b1621f592cf7a
Contents?: true
Size: 648 Bytes
Versions: 66
Compression:
Stored size: 648 Bytes
Contents
require 'tmpdir' module Tins module TempIO def temp_io(content: nil, name: __method__) content.nil? and raise ArgumentError, "missing keyword: content" name = File.basename(name.to_s) Dir.mktmpdir do |dir| name = File.join(dir, name) File.open(name, 'w+b') do |io| if content.respond_to?(:call) if content.respond_to?(:arity) && content.arity == 1 content.call(io) else io.write content.call end else io.write content end io.rewind yield io end end end end end
Version data entries
66 entries across 55 versions & 2 rubygems