class DefraRuby::Aws::Bucket
Attributes
bucket_name[R]
credentials[R]
encrypt_with_kms[R]
region[RW]
Public Class Methods
new(configs)
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 8 def initialize(configs) @credentials = configs[:credentials] @bucket_name = configs[:name] @region = setup_region(configs[:region]) @encrypt_with_kms = setup_encrypt_with_kms(configs[:encrypt_with_kms]) validate! end
Public Instance Methods
access_key_id()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 17 def access_key_id credentials[:access_key_id] end
delete(file_name, options = {})
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 37 def delete(file_name, options = {}) DeleteFileFromBucketService.run(self, file_name, options) end
encryption_type()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 25 def encryption_type @_encryption_type ||= @encrypt_with_kms ? "aws:kms" : :AES256 end
load(file, options = {})
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 29 def load(file, options = {}) BucketLoaderService.run(self, file, options) end
presigned_url(file_name, options = {})
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 33 def presigned_url(file_name, options = {}) PresignedUrlService.run(self, file_name, options) end
secret_access_key()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 21 def secret_access_key credentials[:secret_access_key] end
Private Instance Methods
default_region()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 51 def default_region "eu-west-1" end
empty?(object)
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 94 def empty?(object) object.nil? || object.empty? end
raise_missing_access_key()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 86 def raise_missing_access_key raise("DefraRuby::Aws buckets configurations: missing access key id for bucket #{bucket_name}") end
raise_missing_credentials()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 82 def raise_missing_credentials raise("DefraRuby::Aws buckets configurations: missing credentials for bucket #{bucket_name}") end
raise_missing_secret_access_key()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 90 def raise_missing_secret_access_key raise("DefraRuby::Aws buckets configurations: missing secret access key for bucket #{bucket_name}") end
raise_not_valid_name()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 78 def raise_not_valid_name raise("DefraRuby::Aws buckets configurations: missing bucket name") end
setup_encrypt_with_kms(encrypt_with_kms)
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 55 def setup_encrypt_with_kms(encrypt_with_kms) return false if encrypt_with_kms.nil? # Handle the argument being either a string or a boolean, or some other # value e.g. "foo" encrypt_with_kms.to_s.downcase == "true" end
setup_region(region)
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 45 def setup_region(region) return default_region if region.nil? || region.empty? region end
validate!()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 63 def validate! validate_presence_of_name! validate_presence_of_credentials! end
validate_presence_of_credentials!()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 72 def validate_presence_of_credentials! raise_missing_credentials if empty?(credentials) raise_missing_access_key if empty?(access_key_id) raise_missing_secret_access_key if empty?(secret_access_key) end
validate_presence_of_name!()
click to toggle source
# File lib/defra_ruby/aws/bucket.rb, line 68 def validate_presence_of_name! raise_not_valid_name if bucket_name.nil? || bucket_name.empty? end