Class: StackMaster::TestDriver::S3

Inherits:
Object
  • Object
show all
Defined in:
lib/stack_master/test_driver/s3.rb

Instance Method Summary collapse

Constructor Details

#initializeS3

Returns a new instance of S3.



4
5
6
# File 'lib/stack_master/test_driver/s3.rb', line 4

def initialize
  reset
end

Instance Method Details

#find_file(bucket:, object_key:) ⇒ Object

test only method



29
30
31
# File 'lib/stack_master/test_driver/s3.rb', line 29

def find_file(bucket:, object_key:)
  @files[bucket][object_key]
end

#resetObject



11
12
13
# File 'lib/stack_master/test_driver/s3.rb', line 11

def reset
  @files = Hash.new { |hash, key| hash[key] = Hash.new }
end

#set_region(_) ⇒ Object



8
9
# File 'lib/stack_master/test_driver/s3.rb', line 8

def set_region(_)
end

#upload_files(bucket: nil, prefix: nil, region: nil, files: {}) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/stack_master/test_driver/s3.rb', line 15

def upload_files(bucket: nil, prefix: nil, region: nil, files: {})
  return if files.empty?

  files.each do |template, file|
    object_key = [prefix, template].compact.join('/')
    @files[bucket][object_key] = file[:body]
  end
end

#url(bucket:, prefix:, region:, template:) ⇒ Object



24
25
26
# File 'lib/stack_master/test_driver/s3.rb', line 24

def url(bucket:, prefix:, region:, template:)
  ["https://s3-#{region}.amazonaws.com", bucket, prefix, template].compact.join('/')
end