lib/bio-ucsc/xentro2.rb in bio-ucsc-api-0.4.0 vs lib/bio-ucsc/xentro2.rb in bio-ucsc-api-0.5.0
- old
+ new
@@ -4,20 +4,59 @@
# MISHIMA, Hiroyuki
# <missy at be.to / hmishima at nagasaki-u.ac.jp>
# License:: The Ruby licence (Ryby's / GPLv2 dual)
#
-require "#{::File.dirname(__FILE__)}/db_connector"
require "#{::File.dirname(__FILE__)}/table_class_detector"
module Bio
module Ucsc
module XenTro2
CHROMS = %w() # many scaffolds
extend TableClassDetector
- include DBConnector
- DBConnection.database "xenTro2"
+
+ def self.default
+ DBConnection.default
+ end
+
+ def self.connect(param = Hash.new)
+ DBConnection.db_adapter = param[:db_adapter] if param[:db_adapter]
+ DBConnection.db_host = param[:db_host] if param[:db_host]
+ DBConnection.db_username = param[:db_username] if param[:db_username]
+ DBConnection.password = param[:password] if param[:password]
+ DBConnection.connect
+ end
+
+ class DBConnection < ActiveRecord::Base
+ include SafeAttributes
+ self.inheritance_column = 'dummy_not_to_use'
+
+ @@db_adapter ||= 'mysql'
+ @@db_host ||= 'genome-mysql.cse.ucsc.edu'
+ @@db_username ||= 'genome'
+ @@db_password ||= ''
+ @@db_name ||= 'xenTro2'
+
+ cattr_accessor :db_adapter, :db_host, :db_username, :db_password
+
+ self.abstract_class = true
+
+ def self.default
+ @@db_adapter = 'mysql'
+ @@db_host = 'genome-mysql.cse.ucsc.edu'
+ @@db_username = 'genome'
+ @@db_password = ''
+ end
+
+ def self.connect
+ establish_connection({ :adapter => @@db_adapter,
+ :host => @@db_host,
+ :database => @@db_name,
+ :username => @@db_username,
+ :password => @@db_password, })
+ end
+ end # class DBConnection
base = "#{::File.dirname(__FILE__)}/xentro2"
end
end
end