Class: FakeAWS::S3::ObjectOnDisk

Inherits:
Object
  • Object
show all
Defined in:
lib/fake_aws/s3/object_on_disk.rb

Instance Method Summary collapse

Constructor Details

#initialize(bucket_on_disk, key = nil) ⇒ ObjectOnDisk

Returns a new instance of ObjectOnDisk.



8
9
10
11
# File 'lib/fake_aws/s3/object_on_disk.rb', line 8

def initialize(bucket_on_disk, key = nil)
  @bucket_on_disk = bucket_on_disk
  @key            = key
end

Instance Method Details

#directory_pathObject



43
44
45
# File 'lib/fake_aws/s3/object_on_disk.rb', line 43

def directory_path
  @directory_path ||= File.dirname(object_path)
end

#exists?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/fake_aws/s3/object_on_disk.rb', line 13

def exists?
  File.exists?(object_path)
end

#metadata_pathObject



39
40
41
# File 'lib/fake_aws/s3/object_on_disk.rb', line 39

def 
  @metadata_path ||= File.join("#{object_path}.metadata.json")
end

#object_pathObject



35
36
37
# File 'lib/fake_aws/s3/object_on_disk.rb', line 35

def object_path
  @object_path ||= File.join(@bucket_on_disk.path, @key)
end

#read_contentObject



23
24
25
# File 'lib/fake_aws/s3/object_on_disk.rb', line 23

def read_content
  File.new(object_path)
end

#read_metadataObject



27
28
29
30
31
32
33
# File 'lib/fake_aws/s3/object_on_disk.rb', line 27

def 
  if File.exists?()
    JSON.parse(File.read())
  else
    {}
  end
end

#write(content, metadata) ⇒ Object



17
18
19
20
21
# File 'lib/fake_aws/s3/object_on_disk.rb', line 17

def write(content, )
  FileUtils.mkdir_p(directory_path)
  File.write(object_path, content)
  File.write(, .to_json)
end