class Believer::Test::Database
Public Class Methods
setup(options = {})
click to toggle source
Drop, and create the keyspace. If options contains classes, creates all tables @param options [Hash] the options @option options :environment the environment to use. Must be a subclass of Believer::Environment::BaseEnv
@option options :classes an array of classes to create tables for. Items can be strings or class constants
# File lib/believer/test/database.rb, line 9 def self.setup(options = {}) env = options[:environment] || Believer::Base.environment connection = env.create_connection(:connect_to_keyspace => false) keyspace = ::Believer::KeySpace.new(env) # First delete the existing keyspace begin #env.logger.debug "Dropping keyspace" keyspace.drop rescue Cql::QueryError end keyspace.create({}) connection.use(env.connection_configuration[:keyspace]) ::Believer::Base.environment = env classes = options[:classes] classes.each do |cl| if cl.is_a?(String) clazz = cl.split('::').inject(Kernel) { |scope, const_name| scope.const_get(const_name) } elsif cl.is_a?(Class) clazz = cl end if clazz.ancestors.include?(Believer::Base) #puts "Creating table #{clazz.table_name}" clazz.create_table() end end unless classes.nil? || classes.empty? end