Class: AWS::S3::S3Object

Inherits:
Object
  • Object
show all
Defined in:
lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb

Instance Method Summary collapse

Constructor Details

#initialize(bucket, key, opts = {}) ⇒ S3Object

Returns a new instance of S3Object.



4
5
6
7
8
# File 'lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb', line 4

def initialize(bucket, key, opts = {})
  super
  @key = key
  @bucket = bucket
end

Instance Method Details

#bucket_nameObject



36
37
38
# File 'lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb', line 36

def bucket_name
  bucket.name
end

#bucketsObject



40
41
42
# File 'lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb', line 40

def buckets
  MockAwsS3OnMemory.buckets
end

#copy_from(source, options = {}) ⇒ Object



24
25
26
# File 'lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb', line 24

def copy_from source, options = {}
    buckets[bucket_name][@key] = buckets[bucket_name][source.key]
end

#delete(options = {}) ⇒ Object



28
29
30
# File 'lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb', line 28

def delete options = {}
  buckets[bucket_name].delete @key
end

#exists?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb', line 32

def exists?
  buckets[bucket_name].has_key? @key
end

#get_object(options, &read_block) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb', line 15

def get_object options, &read_block
  data = {data: buckets[bucket_name][@key].read }
  if block_given?
    yield data
  else
    data
  end
end

#write_with_put_object(options) ⇒ Object Also known as: write_with_multipart



10
11
12
# File 'lib/mock_aws_s3_on_memory/aws/s3/s3_object.rb', line 10

def write_with_put_object options
  buckets[bucket_name][@key] = options[:data]
end