class GschoolDatabaseConnection::DatabaseConnection
Attributes
connection[R]
Public Class Methods
clear!()
click to toggle source
# File lib/gschool_database_connection/database_connection.rb, line 12 def self.clear! @@_connection and @@_connection.close @@_connection = nil end
establish(environment = "development", config_file_path="config/database.yml")
click to toggle source
# File lib/gschool_database_connection/database_connection.rb, line 8 def self.establish(environment = "development", config_file_path="config/database.yml") @@_connection ||= new(environment, config_file_path) end
Private Class Methods
new(environment, config_file_path)
click to toggle source
# File lib/gschool_database_connection/database_connection.rb, line 17 def initialize(environment, config_file_path) if ENV["DATABASE_URL"] @connection = establish_from_uri(ENV["DATABASE_URL"]) else file = File.read(config_file_path) config = YAML.load(file)[environment] @connection = establish_from_config(config) end end
Public Instance Methods
close()
click to toggle source
# File lib/gschool_database_connection/database_connection.rb, line 31 def close connection.close end
sql(sql_string)
click to toggle source
# File lib/gschool_database_connection/database_connection.rb, line 27 def sql(sql_string) connection.exec(sql_string).to_a end
Private Instance Methods
establish_from_config(config)
click to toggle source
# File lib/gschool_database_connection/database_connection.rb, line 38 def establish_from_config(config) ActiveRecord::Base.establish_connection( :adapter => config['adapter'], :database => config['database'], :username => config['username'], :password => config['password'] ).connection.raw_connection end
establish_from_uri(uri)
click to toggle source
# File lib/gschool_database_connection/database_connection.rb, line 47 def establish_from_uri(uri) ActiveRecord::Base.establish_connection(uri).connection.raw_connection end