Sha256: 027dec03a604ae269396e64e7d788b83e9687a36ee0155f543e9f34fa3ee931e

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

module SeamlessDatabasePool
  class Test < ActiveRecord::Base
    def self.create_tables
      db_dir = File.expand_path(File.join(__FILE__, '..', 'tmp'))
      Dir.mkdir(db_dir) unless File.exist?(db_dir)
      db = File.join(db_dir, 'test_SeamlessDatabasePool.sqlite3')
      establish_connection("adapter" => "sqlite3", "database" => db)
      
      connection.create_table(Thing.table_name) do |t|
        t.column :name, :string
        t.column :model_id, :integer
      end unless Thing.table_exists?
      
      connection.create_table(Model.table_name) do |t|
        t.column :name, :string
      end unless Model.table_exists?
    end
 
    def self.drop_tables
      db_dir = File.expand_path(File.join(__FILE__, '..', 'tmp'))
      db = File.join(db_dir, 'test_SeamlessDatabasePool.sqlite3')
      connection.disconnect!
      File.delete(db) if File.exist?(db)
      Dir.delete(db_dir) if File.exist?(db_dir) and Dir.entries(db_dir).reject{|f| f.match(/^\.+$/)}.empty?
    end
    
    class Thing < Test
      belongs_to :model, :class_name => "SeamlessDatabasePool::Test::Model"
    end
    
    class Model < Test
      has_many :things, :class_name => "SeamlessDatabasePool::Test::Thing"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
seamless_database_pool-1.0.5 spec/test_models.rb