class RedshiftExtractor::Unload

Attributes

aws_access_key_id[R]
aws_secret_access_key[R]
s3_destination[R]
select_sql[R]

Public Class Methods

new(args) click to toggle source
# File lib/redshift_extractor/unload.rb, line 5
def initialize(args)
  @aws_access_key_id = args.fetch(:aws_access_key_id)
  @aws_secret_access_key = args.fetch(:aws_secret_access_key)
  @s3_destination = args.fetch(:s3_destination)
  @select_sql = args.fetch(:select_sql)
end

Public Instance Methods

credentials() click to toggle source
# File lib/redshift_extractor/unload.rb, line 21
def credentials
  "aws_access_key_id=#{aws_access_key_id};aws_secret_access_key=#{aws_secret_access_key}"
end
escaped_extract_sql() click to toggle source
# File lib/redshift_extractor/unload.rb, line 17
def escaped_extract_sql
  select_sql.gsub("'", "\\\\'")
end
unload_sql() click to toggle source
# File lib/redshift_extractor/unload.rb, line 12
def unload_sql
  "UNLOAD('#{escaped_extract_sql}') to '#{s3_destination}'"\
  " CREDENTIALS '#{credentials}' MANIFEST GZIP ADDQUOTES ESCAPE;"
end