Sha256: e76d50155518c04bf52f115f16d8a1b64fae0935e0909f250636489af0fe2863
Contents?: true
Size: 1.07 KB
Versions: 3
Compression:
Stored size: 1.07 KB
Contents
require "bundler/gem_tasks" require "rspec/core/rake_task" namespace :spec do task :db_drop do with_connection("template1") { |conn| conn.execute("DROP DATABASE IF EXISTS #{test_database_name}") } end task :db_create do with_connection("template1") { |conn| conn.execute("CREATE DATABASE #{test_database_name}") } end task :db_load_schema do require "active_record" with_connection(test_database_name) { load File.join(__dir__, %w[spec schema.rb]) } end desc "Setup test database" task :setup => [:db_drop, :db_create, :db_load_schema] def connection_spec require 'yaml' @connection_spec ||= YAML.load_file(File.join(__dir__, %w[config database.yml])) end def test_database_name connection_spec["test"]["database"] end def with_connection(database_name) require "active_record" pool = ActiveRecord::Base.establish_connection(connection_spec["test"].merge("database" => database_name)) yield ActiveRecord::Base.connection ensure pool&.disconnect! end end RSpec::Core::RakeTask.new(:spec) task :default => :spec
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
inventory_refresh-2.0.0 | Rakefile |
inventory_refresh-1.1.0 | Rakefile |
inventory_refresh-1.0.0 | Rakefile |