Module: Boucher::Storage

Defined in:
lib/boucher/storage.rb

Class Method Summary collapse

Class Method Details

.dir(dir_name) ⇒ Object



60
61
62
63
64
# File 'lib/boucher/storage.rb', line 60

def self.dir(dir_name)
  Boucher.storage.directories.get(dir_name)
rescue Exception => e
  raise "Failed to access directory: #{dir_name} (#{e.to_s})"
end

.get(dir_name, key, filename) ⇒ Object



83
84
85
86
87
88
89
# File 'lib/boucher/storage.rb', line 83

def self.get(dir_name, key, filename)
  dir = Boucher.storage.directories.get(dir_name)
  url = dir.files.get_https_url(key, Time.now + 3600)
  puts "url: #{url}"
  Kernel.system("curl", url, "-o", filename)
  dir.files.detect { |f| f.key == key }
end

.list(dir_name) ⇒ Object



66
67
68
69
70
71
72
# File 'lib/boucher/storage.rb', line 66

def self.list(dir_name)
  if dir_name
    dir(dir_name).files
  else
    Boucher.storage.directories
  end
end

.put(dir_name, key, filename) ⇒ Object



74
75
76
77
78
79
80
81
# File 'lib/boucher/storage.rb', line 74

def self.put(dir_name, key, filename)
  dir = Boucher.storage.directories.get(dir_name)
  body = File.open(filename)
  file = dir.files.new(:key => key, :body => body)
  file.save
  body.close
  file
end