Class: Cassandra::Mocks::Cluster

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/cassandra_mocks/cluster.rb

Instance Method Summary collapse

Constructor Details

#initializeCluster

Returns a new instance of Cluster.



8
9
10
# File 'lib/cassandra_mocks/cluster.rb', line 8

def initialize
  @keyspaces = {}
end

Instance Method Details

#add_keyspace(name) ⇒ Object

Raises:

  • (Errors::AlreadyExistsError)


29
30
31
32
# File 'lib/cassandra_mocks/cluster.rb', line 29

def add_keyspace(name)
  raise Errors::AlreadyExistsError.new('Cannot create already existing keyspace', 'MockStatement', name, nil) if @keyspaces[name]
  @keyspaces[name] = Keyspace.new(name)
end

#closeObject



21
22
23
# File 'lib/cassandra_mocks/cluster.rb', line 21

def close
  close_async.get
end

#close_asyncObject



17
18
19
# File 'lib/cassandra_mocks/cluster.rb', line 17

def close_async
  Cassandra::Future.value(nil)
end

#connect(keyspace = nil) ⇒ Object



25
26
27
# File 'lib/cassandra_mocks/cluster.rb', line 25

def connect(keyspace = nil)
  connect_async(keyspace).get
end

#connect_async(keyspace = nil) ⇒ Object



12
13
14
15
# File 'lib/cassandra_mocks/cluster.rb', line 12

def connect_async(keyspace = nil)
  session = Session.new(keyspace, self)
  Cassandra::Future.value(session)
end

#drop_keyspace(name) ⇒ Object



34
35
36
# File 'lib/cassandra_mocks/cluster.rb', line 34

def drop_keyspace(name)
  @keyspaces.delete(name)
end

#each_keyspace(&block) ⇒ Object



38
39
40
# File 'lib/cassandra_mocks/cluster.rb', line 38

def each_keyspace(&block)
  @keyspaces.values.each(&block)
end

#find_replicas(*_) ⇒ Object



46
47
48
# File 'lib/cassandra_mocks/cluster.rb', line 46

def find_replicas(*_)
  []
end

#hostsObject



42
43
44
# File 'lib/cassandra_mocks/cluster.rb', line 42

def hosts
  %w(DummyHost)
end