class Dustcart::Resource::Output::AmazonS3
output: S3 ignore :reek:UncommunicativeModuleName
Attributes
zip_file_name[R]
Public Class Methods
new(from_dir, mode, &block)
click to toggle source
Calls superclass method
# File lib/dustcart/output/amazon_s3.rb, line 17 def initialize(from_dir, mode, &block) super(from_dir, mode, &block) @zip_file_name = "#{from_dir}.zip" end
Public Instance Methods
precheck()
click to toggle source
Calls superclass method
# File lib/dustcart/output/amazon_s3.rb, line 23 def precheck super raise <<-EOS.unindent unless mode == :all mode (#{mode}) unknown. :all is the only available mode now. EOS [:access_key_id, :secret_access_key, :region, :bucket].each do |key| raise <<-EOS.unindent unless attributes.key?(key) #{key} is required. EOS end end
run()
click to toggle source
Calls superclass method
# File lib/dustcart/output/amazon_s3.rb, line 38 def run super generate_zip_file upload_zip_file end
Private Instance Methods
generate_zip_file()
click to toggle source
# File lib/dustcart/output/amazon_s3.rb, line 47 def generate_zip_file zf = ZipFileGenerator.new(from_dir, zip_file_name) zf.write end
upload_zip_file()
click to toggle source
# File lib/dustcart/output/amazon_s3.rb, line 52 def upload_zip_file resource = Aws::S3::Resource.new( access_key_id: access_key_id, secret_access_key: secret_access_key, region: region ) obj_name = File.basename(zip_file_name) obj = resource.bucket(bucket).object(obj_name) obj.upload_file(zip_file_name) end