module Rabbit::TemporaryFile

Public Instance Methods

create(options={}) { |temp| ... } click to toggle source
# File lib/rabbit/utils.rb, line 520
def create(options={})
  extension = options[:extension]
  content = options[:content]
  source = options[:source]
  if source
    extension ||= source.extension
    content   ||= source.read
  end

  prefix = ["rabbit", options[:prefix]].compact.join("-") + "-"
  if extension
    basename = [prefix, ".#{extension}"]
  else
    basename = prefix
  end
  temp = Tempfile.new(basename)
  if content
    temp.binmode
    temp.print(content)
    temp.close
  end
  yield temp
end