class DefraRuby::Aws::BucketLoaderService

Attributes

bucket[R]
dir[R]
file[R]

Public Class Methods

new(bucket, file, options) click to toggle source
# File lib/defra_ruby/aws/services/bucket_loader_service.rb, line 12
def initialize(bucket, file, options)
  @bucket = bucket
  @file = file
  @dir = options[:s3_directory]
end
run(bucket, file, options = {}) click to toggle source
# File lib/defra_ruby/aws/services/bucket_loader_service.rb, line 8
def self.run(bucket, file, options = {})
  new(bucket, file, options).run
end

Public Instance Methods

run() click to toggle source
# File lib/defra_ruby/aws/services/bucket_loader_service.rb, line 18
def run
  Response.new(response_exe)
end

Private Instance Methods

destination() click to toggle source
# File lib/defra_ruby/aws/services/bucket_loader_service.rb, line 34
def destination
  [*dir, File.basename(file.path)].compact.join("/")
end
response_exe() click to toggle source
# File lib/defra_ruby/aws/services/bucket_loader_service.rb, line 26
def response_exe
  lambda do
    s3_bucket
      .object(destination)
      .upload_file(file.path, server_side_encryption: bucket.encryption_type)
  end
end