class PGResolver::Resolver

Attributes

db_id[R]
url[R]

Public Class Methods

all(config_vars) click to toggle source
# File lib/heroku/pg_resolver.rb, line 107
def self.all(config_vars)
  parsed = parse_config(config_vars)
  default = parsed['DATABASE']
  dbs = []
  parsed.reject{|k,v| k == 'DATABASE'}.each do |name, url|
    dbs << {:name => name, :url => url, :default => url==default, :pretty_name => "#{name}#{' (DATABASE_URL)' if url==default}"}
  end
  dbs.sort {|a,b| a[:default] ? -1 : a[:name] <=> b[:name] }
end
new(db_id, config_vars) click to toggle source
# File lib/heroku/pg_resolver.rb, line 78
def initialize(db_id, config_vars)
  raise ArgumentError unless db_id
  @db_id, @config_vars = db_id, config_vars
  @db_id = @db_id.upcase unless @db_id =~ %r\Apostgres/
  @messages = []
  parse_config
  resolve
end

Public Instance Methods

[](arg) click to toggle source
# File lib/heroku/pg_resolver.rb, line 91
def [](arg)
  { :name => name,
    :url => url,
    :pretty_name => pretty_name,
    :default => default?
  }[arg]
end
message() click to toggle source
# File lib/heroku/pg_resolver.rb, line 87
def message
  @messages.join("\n") unless @messages.empty?
end
name() click to toggle source
# File lib/heroku/pg_resolver.rb, line 99
def name
  db_id
end
pretty_name() click to toggle source
# File lib/heroku/pg_resolver.rb, line 103
def pretty_name
  "#{db_id}#{ " (DATABASE_URL)" if default? }"
end