Class: Handy::Dump2s3

Inherits:
Object
  • Object
show all
Defined in:
lib/handy/dump2s3.rb

Class Method Summary collapse

Class Method Details

.list(env) ⇒ Object



62
63
64
65
66
# File 'lib/handy/dump2s3.rb', line 62

def self.list(env)
  s3 = Handy::S3.new(Rails.env)
  Handy::Util.pretty_msg("List of files on s3 for bucket #{s3.bucket_name}")
  s3.bucket_instance.keys.each {|e| puts e}
end

.restore(env, file_name) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
# File 'lib/handy/dump2s3.rb', line 68

def self.restore(env, file_name)
  s3 = Handy::S3.new(Rails.env)
  keyinfo = s3.bucket_instance.key(file_name)
  raise "no file named #{file_name} was found on s3. Please check the file list on s3" if keyinfo.blank?
  data = s3.bucket_instance.get(file_name)
  storage_dir = Rails.root.join('tmp', file_name)
  open(storage_dir, 'w') do |f|
    f.write data
  end
  Handy::Util.pretty_msg("file #{file_name} has been downloaded to #{storage_dir.expand_path}")
end

.run(env, file_name) ⇒ Object



56
57
58
59
60
# File 'lib/handy/dump2s3.rb', line 56

def self.run(env, file_name)
  s3 = Handy::S3.new(Rails.env)
  s3.store(file_name, open(Rails.root.join('tmp', file_name)))
  Handy::Util.pretty_msg("#{file_name} has been backedup at s3.")
end