class Redshift::Client::Configuration
Constants
- DEFAULT_SSL_MODE
Attributes
dbname[R]
host[R]
password[R]
port[R]
user[R]
Public Class Methods
new(host, port, user, password, dbname, sslmode)
click to toggle source
# File lib/redshift/client/configuration.rb, line 50 def initialize(host, port, user, password, dbname, sslmode) @host = host @port = port || 5439 @user = user @password = password @dbname = dbname @sslmode = sslmode || DEFAULT_SSL_MODE end
resolve(config = {})
click to toggle source
# File lib/redshift/client/configuration.rb, line 13 def resolve(config = {}) config.reverse_merge!(parse_redshift_url) Configuration.new( config[:host], config[:port], config[:user], config[:password], config[:dbname], config[:sslmode] ) end
Private Class Methods
parse_redshift_url()
click to toggle source
# File lib/redshift/client/configuration.rb, line 28 def parse_redshift_url uri = URI.parse(ENV['REDSHIFT_URL']) { host: uri.host, port: uri.port, user: uri.user, password: uri.password, dbname: uri.path[1..-1], sslmode: sslmode(uri) } rescue {} end
sslmode(uri)
click to toggle source
# File lib/redshift/client/configuration.rb, line 42 def sslmode(uri) if uri.query param = CGI.parse(uri.query)['sslmode'] param && param[0] end end
Public Instance Methods
params()
click to toggle source
# File lib/redshift/client/configuration.rb, line 59 def params { host: @host, port: @port, user: @user, password: @password, dbname: @dbname, sslmode: @sslmode } end