Class: S3MoveService

Inherits:
Object
  • Object
show all
Defined in:
app/services/s3_move_service.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(work_id:, source_bucket:, source_key:, target_bucket:, target_key:, size:) ⇒ S3MoveService

Returns a new instance of S3MoveService.



6
7
8
9
10
11
12
13
14
# File 'app/services/s3_move_service.rb', line 6

def initialize(work_id:, source_bucket:, source_key:, target_bucket:, target_key:, size:)
  @copy_source = "/#{source_bucket}/#{source_key}"
  @source_key = source_key
  @source_bucket = source_bucket
  @target_bucket = target_bucket
  @target_key = target_key
  @size = size
  @service = S3QueryService.new(Work.find(work_id), bucket_name: source_bucket)
end

Instance Attribute Details

#copy_sourceObject (readonly)

Returns the value of attribute copy_source.



4
5
6
# File 'app/services/s3_move_service.rb', line 4

def copy_source
  @copy_source
end

#serviceObject (readonly)

Returns the value of attribute service.



4
5
6
# File 'app/services/s3_move_service.rb', line 4

def service
  @service
end

#sizeObject (readonly)

Returns the value of attribute size.



4
5
6
# File 'app/services/s3_move_service.rb', line 4

def size
  @size
end

#source_bucketObject (readonly)

Returns the value of attribute source_bucket.



4
5
6
# File 'app/services/s3_move_service.rb', line 4

def source_bucket
  @source_bucket
end

#source_keyObject (readonly)

Returns the value of attribute source_key.



4
5
6
# File 'app/services/s3_move_service.rb', line 4

def source_key
  @source_key
end

#target_bucketObject (readonly)

Returns the value of attribute target_bucket.



4
5
6
# File 'app/services/s3_move_service.rb', line 4

def target_bucket
  @target_bucket
end

#target_keyObject (readonly)

Returns the value of attribute target_key.



4
5
6
# File 'app/services/s3_move_service.rb', line 4

def target_key
  @target_key
end

Instance Method Details

#moveObject



16
17
18
19
20
21
# File 'app/services/s3_move_service.rb', line 16

def move
  etag = copy_file # will raise exception if there is an error
  check_file # will raise exception if there is an error
  service.delete_s3_object(source_key, bucket: source_bucket)
  etag
end