Skip to content

Instantly share code, notes, and snippets.

@ivanvanderbyl
Created November 21, 2011 09:39
Show Gist options
  • Save ivanvanderbyl/1382157 to your computer and use it in GitHub Desktop.
Save ivanvanderbyl/1382157 to your computer and use it in GitHub Desktop.
<%
require 'cgi'
require 'uri'
begin
uri = URI.parse(ENV["DATABASE_URL"])
rescue URI::InvalidURIError
raise "Invalid DATABASE_URL"
end
raise "No RACK_ENV or RAILS_ENV found" unless ENV["RAILS_ENV"] || ENV["RACK_ENV"]
def attribute(name, value)
value ? "#{name}: #{value}" : ""
end
adapter = uri.scheme
adapter = "postgresql" if adapter == "postgres"
adapter = nil if adapter == 'mongo'
database = (uri.path || "").split("/")[1]
username = uri.user
password = uri.password
host = uri.host
port = uri.port
params = CGI.parse(uri.query || "")
%>
<%= ENV["RAILS_ENV"] || ENV["RACK_ENV"] %>:
<%= attribute("adapter", adapter) if adapter %>
<%= attribute("database", database) if database %>
<%= attribute("username", username) if username %>
<%= attribute("password", password) if password %>
<%= attribute("host", host) if host %>
<%= attribute("port", port) if port %>
<% params.each do |key, value| %>
<%= key %>: <%= value.first %>
<% end %>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment