class Tempbucket

Constants

VERSION

Public Instance Methods

delete(key) click to toggle source
# File lib/tempbucket.rb, line 23
def delete(key)
  tempbucket.files.delete(key)
end
read(key) click to toggle source
# File lib/tempbucket.rb, line 17
def read(key)
  if fogfile = tempbucket.files.get(key)
    File.new(fogfile)
  end
end
write(file) click to toggle source
# File lib/tempbucket.rb, line 6
def write(file)
  key = key_for(file)
  fogfile = tempbucket.files.create(
    key: key,
    body: file,
    public: false
  )

  File.new(fogfile)
end

Private Instance Methods

key_for(file) click to toggle source
# File lib/tempbucket.rb, line 47
def key_for(file)
  uuid = ::SecureRandom.uuid
  filename = ::File.basename file.path
  ::File.join(uuid, filename)
end
tempbucket() click to toggle source
# File lib/tempbucket.rb, line 53
def tempbucket
  @tempbucket ||= ::Fog::Storage.new(
    provider: 'AWS',
    aws_access_key_id:     ENV["TEMPBUCKET_ACCESS_KEY_ID"].to_s,
    aws_secret_access_key: ENV["TEMPBUCKET_SECRET_ACCESS_KEY"].to_s
  ).directories.get(ENV["TEMPBUCKET_BUCKET"])
end