class DefraRuby::Aws::PresignedUrlService
Attributes
bucket[R]
dir[R]
file_name[R]
Public Class Methods
new(bucket, file_name, options)
click to toggle source
# File lib/defra_ruby/aws/services/presigned_url_service.rb, line 12 def initialize(bucket, file_name, options) @bucket = bucket @file_name = file_name @dir = options[:s3_directory] end
run(bucket, file_name, options = {})
click to toggle source
# File lib/defra_ruby/aws/services/presigned_url_service.rb, line 8 def self.run(bucket, file_name, options = {}) new(bucket, file_name, options).run end
Public Instance Methods
run()
click to toggle source
# File lib/defra_ruby/aws/services/presigned_url_service.rb, line 18 def run s3_bucket.object(destination).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
Private Instance Methods
destination()
click to toggle source
# File lib/defra_ruby/aws/services/presigned_url_service.rb, line 32 def destination [*dir, file_name].compact.join("/") end