class TpCommon::FileStorage::Configuration

Attributes

aws_key_id[RW]
aws_region[RW]
aws_secret_key[RW]
default_bucket[RW]
key_prefix[RW]

Public Class Methods

new(aws_region, aws_key_id = nil, aws_secret_key = nil, key_prefix = nil, default_bucket = nil) click to toggle source
# File lib/tp_common/file_storage/configuration.rb, line 7
def initialize(aws_region,
               aws_key_id = nil,
               aws_secret_key = nil,
               key_prefix = nil,
               default_bucket = nil)

  @aws_region = aws_region
  @aws_key_id = aws_key_id
  @aws_secret_key = aws_secret_key
  @key_prefix = key_prefix
  @default_bucket = default_bucket
end

Public Instance Methods

connection() click to toggle source
# File lib/tp_common/file_storage/configuration.rb, line 26
def connection
  @connection ||= Fog::Storage.new(provider: 'AWS',
    aws_access_key_id: aws_key_id,
    aws_secret_access_key: aws_secret_key)
end
get_directory(directory_path) click to toggle source
# File lib/tp_common/file_storage/configuration.rb, line 32
def get_directory(directory_path)
  cached_directories[directory_path.to_sym]
end

Private Instance Methods

cached_directories() click to toggle source
# File lib/tp_common/file_storage/configuration.rb, line 38
def cached_directories
  @cached_directories ||= Hash.new do |hash, key|
    hash[key] = connection.directories.get(key.to_s)
  end
end