Class: DefraRuby::Aws::PresignedUrlService

Inherits:
Object
  • Object
show all
Includes:
HasAwsBucketConfiguration
Defined in:
lib/defra_ruby/aws/services/presigned_url_service.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from HasAwsBucketConfiguration

#aws_credentials, #s3, #s3_bucket

Constructor Details

#initialize(bucket, file_name) ⇒ PresignedUrlService

Returns a new instance of PresignedUrlService.



12
13
14
15
# File 'lib/defra_ruby/aws/services/presigned_url_service.rb', line 12

def initialize(bucket, file_name)
  @bucket = bucket
  @file_name = file_name
end

Class Method Details

.run(bucket, file_name) ⇒ Object



8
9
10
# File 'lib/defra_ruby/aws/services/presigned_url_service.rb', line 8

def self.run(bucket, file_name)
  new(bucket, file_name).run
end

Instance Method Details

#runObject



17
18
19
20
21
22
23
24
25
# File 'lib/defra_ruby/aws/services/presigned_url_service.rb', line 17

def run
  s3_bucket.object(file_name).presigned_url(
    :get,
    expires_in: 20 * 60, # 20 minutes in seconds
    secure: true,
    response_content_type: "text/csv",
    response_content_disposition: "attachment; filename=#{file_name}"
  )
end