Module: S3::ObjectMethods

Included in:
ModuleMethods, Service
Defined in:
lib/s3/object_methods.rb

Instance Method Summary collapse

Instance Method Details

#object_copy(options = nil, source_bucket:, source_key:, bucket:, key:, **kwargs) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/s3/object_methods.rb', line 68

def object_copy( options = nil, source_bucket:, source_key:, bucket:, key:, **kwargs )
  request = ObjectCopyRequest.new( **request_options )
  response = request.submit(
    options,
    source_bucket: source_bucket,
    source_key: source_key,
    bucket: bucket,
    key: key,
    **kwargs
  )

  raise_if_error( response )

  response.result
end

#object_delete(bucket:, key:, version_id: nil) ⇒ Object



35
36
37
38
39
40
41
42
# File 'lib/s3/object_methods.rb', line 35

def object_delete( bucket:, key:, version_id: nil )
  request = ObjectDeleteRequest.new( **request_options )
  response = request.submit( bucket: bucket, key: key, version_id: version_id )

  raise_if_error( response )

  response.result
end

#object_delete_batch(bucket:, keys:) ⇒ Object



44
45
46
47
48
49
50
51
# File 'lib/s3/object_methods.rb', line 44

def object_delete_batch( bucket:, keys: )
  request = ObjectDeleteBatchRequest.new( **request_options )
  response = request.submit( bucket: bucket, keys: keys )

  raise_if_error( response )

  response.result
end

#object_exists?(bucket:, key:) ⇒ Boolean

Returns:

  • (Boolean)


64
65
66
# File 'lib/s3/object_methods.rb', line 64

def object_exists?( bucket:, key: )
  !object_head( bucket: bucket, key: key ).nil?
end

#object_get(bucket:, key:, &block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/s3/object_methods.rb', line 12

def object_get( bucket:, key:, &block )
  request = ObjectGetRequest.new( **request_options )

  if block_given?
    response = request.submit( bucket: bucket, key: key, &block )
    raise_if_error( response )
    nil
  else
    response = request.submit( bucket: bucket, key: key )
    raise_if_error( response )
    response.body
  end
end

#object_head(bucket:, key:) ⇒ Object



53
54
55
56
57
58
59
60
61
62
# File 'lib/s3/object_methods.rb', line 53

def object_head( bucket:, key: )
  request = ObjectHeadRequest.new( **request_options )
  response = request.submit( bucket: bucket, key: key )

  return nil if response.status == 404

  raise_if_error( response )

  response.result
end

#object_list(options = nil, bucket:, **kwargs) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/s3/object_methods.rb', line 3

def object_list( options = nil, bucket:, **kwargs )
  request = ObjectListRequest.new( **request_options )
  response = request.submit( options, bucket: bucket, **kwargs )

  raise_if_error( response )

  response.result
end

#object_metadata_set(bucket:, key:, metadata:) ⇒ Object



84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/s3/object_methods.rb', line 84

def ( bucket:, key:, metadata: )
  object_copy(
    source_bucket: bucket,
    source_key: key,
    bucket: bucket,
    key: key,
    metadata: ,
    metadata_directive: 'REPLACE'
  )

  object_head( bucket: bucket, key: key )
end

#object_put(options = nil, bucket:, key:, body:, **kwargs) ⇒ Object



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

def object_put( options = nil, bucket:, key:, body:, **kwargs )
  request = ObjectPutRequest.new( **request_options )
  response = request.submit( options, bucket: bucket, key: key, body: body, **kwargs )

  raise_if_error( response )

  response.result
end