class Redshift::Rails::Configuration

Public Instance Methods

database() click to toggle source
# File lib/redshift/rails/configuration.rb, line 27
def database
  {
    host: host,
    port: port,
    user: user,
    password: password,
    dbname: dbname
  }
end
load!() click to toggle source
# File lib/redshift/rails/configuration.rb, line 21
def load!
  resolve_config.each do |k, v|
    send("#{k}=", v)
  end
end

Private Instance Methods

resolve_config() click to toggle source
# File lib/redshift/rails/configuration.rb, line 38
def resolve_config
  config_file = ::Rails.application.config.redshift.config_file

  if File.exists?(config_file)
    YAML.load(ERB.new(File.read(config_file)).result)[::Rails.env]
  else
    uri = URI.parse(ENV["REDSHIFT_URL"])
    {
      host: uri.host,
      port: uri.port,
      user: uri.user,
      password: uri.password,
      dbname: uri.path[1..-1]
    }
  end
end