Sha256: e0c3db7e23344ac85d7f102e5a4b6a65bf9eb939b02a284cfa7c459827829d65
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
require "simple_fixture/version" require "active_record" require "active_record/fixtures" class SimpleFixture DB_DIR = 'tmp' DB_NAME = 'simple_fixture' CONFIG_DIR = File.join('test', 'simple_fixture') FIXTURES_DIR = File.join(CONFIG_DIR, 'fixtures') MIGRATION_FILE = File.join(CONFIG_DIR, 'migration.rb') MODELS_FILE = File.join(CONFIG_DIR, 'models.rb') class << self def migrate(&block) Class.new(ActiveRecord::Migration::Current) do define_method :change do instance_eval &block end end.new.change end end def initialize build_db_file establish_connection ActiveRecord::Base.logger = Logger.new(STDOUT) load MIGRATION_FILE load MODELS_FILE ActiveRecord::FixtureSet.create_fixtures(FIXTURES_DIR, ymls) end private def ymls Dir[File.join(FIXTURES_DIR, '*.yml')].map{ |f| File.basename(f, '.*') } end def build_db_file Dir.mkdir DB_DIR unless Dir.exists? DB_DIR path = File.join(DB_DIR, "#{DB_NAME}.splite3") File.delete(path) if File.exists? path @path = path end def establish_connection ::ActiveRecord::Base.configurations = {test: {adapter: 'sqlite3', database: @path}}.with_indifferent_access ::ActiveRecord::Base.establish_connection(:test) rescue => _ ::ActiveRecord::Base.establish_connection('test') end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple_fixture-0.1.1 | lib/simple_fixture.rb |