Sha256: 148ee2eba1e8c8ff9fa8d24b3f1a4665dbb228ac487ed701cc391ffa0a3482e5
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
module SeamlessDatabasePool class TestModel < ActiveRecord::Base class << self def database_configs adapters = ENV['TEST_ADAPTERS'].blank? ? [] : ENV['TEST_ADAPTERS'].split(/\s+/) configs = {} YAML.load_file(File.expand_path("../database.yml", __FILE__)).each do |adapter_name, adapter_config| configs[adapter_name] = adapter_config if adapters.include?(adapter_name.downcase) end configs end def use_database_connection(db_name) establish_connection(database_configs[db_name.to_s]) end def db_model(db_name) model_class_name = db_name.classify unless const_defined?(model_class_name) klass = Class.new(self) const_set(model_class_name, klass) end const_get(model_class_name) end def create_tables connection.create_table(table_name) do |t| t.column :name, :string t.column :value, :integer end unless table_exists? end def drop_tables connection.drop_table(table_name) end def cleanup_database! connection.disconnect! sqlite3_config = database_configs['sqlite3'] if sqlite3_config && File.exist?(sqlite3_config['database']) File.delete(sqlite3_config['database']) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
seamless_database_pool-1.0.11 | spec/test_model.rb |
seamless_database_pool-1.0.10 | spec/test_model.rb |