Module: PullTempfile

Defined in:
lib/pull_tempfile.rb,
lib/pull_tempfile/version.rb

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.pull_tempfile(original_filename:, url:) ⇒ Object

Creates Temporary file

file = PullTempfile.pull_tempfile(original_filename: "image asset.jpg", url: 'http://..../uaoeuoeueoauoueao' )
# ...do stuff
file.unlink

Temporary files have suffix so your file “image asset.jpg” will be saved as “/tmp/image asset20160317-18066-gw1q0.jpg”. This is because Tempfile lib is ensuring you won’t override files

Remmember to file.unlink or PullTempfile.transaction that does that automatically



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/pull_tempfile.rb', line 20

def self.pull_tempfile(original_filename:, url:)
  _generated_name = Pathname.new(original_filename)
  extension     = _generated_name.extname.to_s
  tmp_file_name = _generated_name.basename(extension).to_s

  file = Tempfile.new([tmp_file_name, extension])
  file.binmode
  file.write(HTTParty.get(url).parsed_response)
  file.close
  file
end

.transaction(original_filename:, url:) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/pull_tempfile.rb', line 32

def self.transaction(original_filename:, url:)
  file = pull_tempfile(original_filename: original_filename, url: url)

  yield file.open
ensure
  file && file.unlink #delete temp file
end