class Cql::Client::KeyspaceChanger

@private

Constants

KEYSPACE_NAME_PATTERN

Public Class Methods

new(request_runner=RequestRunner.new) click to toggle source
# File lib/cql/client/keyspace_changer.rb, line 9
def initialize(request_runner=RequestRunner.new)
  @request_runner = request_runner
end

Public Instance Methods

use_keyspace(connection, keyspace) click to toggle source
# File lib/cql/client/keyspace_changer.rb, line 13
def use_keyspace(connection, keyspace)
  return Future.resolved(connection) unless keyspace
  return Future.failed(InvalidKeyspaceNameError.new(%("#{keyspace}" is not a valid keyspace name))) unless valid_keyspace_name?(keyspace)
  request = Protocol::QueryRequest.new("USE #{keyspace}", nil, nil, :one)
  @request_runner.execute(connection, request).map(connection)
end

Private Instance Methods

valid_keyspace_name?(name) click to toggle source
# File lib/cql/client/keyspace_changer.rb, line 22
def valid_keyspace_name?(name)
  name =~ KEYSPACE_NAME_PATTERN
end