module Pspec::Replicator
Public Class Methods
optimal_processors_count()
click to toggle source
# File lib/pspec/replicator.rb, line 4 def optimal_processors_count [Parallel.processor_count - 1, 1].max end
replicate()
click to toggle source
# File lib/pspec/replicator.rb, line 8 def replicate (optimal_processors_count - 1).times do |index| number = index + 2 drop_database number create_database number Rails.logger.info "Database #{database number} was created" end end
Private Class Methods
create_database(number)
click to toggle source
# File lib/pspec/replicator.rb, line 24 def create_database(number) ActiveRecord::Base.connection.execute %(create database "#{database number}" with template "#{database}" owner "#{owner}") end
database(number = nil)
click to toggle source
# File lib/pspec/replicator.rb, line 28 def database(number = nil) "#{ActiveRecord::Base.configurations['test']['database']}#{number}" end
drop_database(number)
click to toggle source
# File lib/pspec/replicator.rb, line 20 def drop_database(number) ActiveRecord::Base.connection.execute %(drop database if exists "#{database number}") end
owner()
click to toggle source
# File lib/pspec/replicator.rb, line 32 def owner ActiveRecord::Base.configurations['test']['username'] end