Module: Hasta::Storage

Included in:
LocalStorage, S3Storage
Defined in:
lib/hasta/storage.rb

Overview

Common file storage methods used by the local and S3 storage providers

Defined Under Namespace

Modules: ResolveS3File

Instance Method Summary collapse

Instance Method Details

#exists?(s3_uri) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
26
# File 'lib/hasta/storage.rb', line 20

def exists?(s3_uri)
  if s3_uri.file?
    !!fog_file(s3_uri)
  elsif s3_bucket = bucket(s3_uri)
    !fog_files(s3_bucket, s3_uri).empty?
  end
end

#files_for(s3_uri) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/hasta/storage.rb', line 28

def files_for(s3_uri)
  if s3_uri.file?
    [s3_file!(s3_uri)]
  else
    s3_files(bucket!(s3_uri), s3_uri)
  end
end

#initialize(fog_storage, s3_file_resolver = ResolveS3File) ⇒ Object



15
16
17
18
# File 'lib/hasta/storage.rb', line 15

def initialize(fog_storage, s3_file_resolver = ResolveS3File)
  @fog_storage = fog_storage
  @s3_file_resolver = s3_file_resolver
end