class Cassandra::Driver
@private
Public Class Methods
let(name, &block)
click to toggle source
# File lib/cassandra/driver.rb 22 def self.let(name, &block) 23 define_method(name) do 24 @instances.key?(name) ? 25 @instances[name] : 26 @instances[name] = instance_eval(&block) 27 end 28 define_method(:"#{name}=") { |object| @instances[name] = object } 29 end
new(defaults = {})
click to toggle source
# File lib/cassandra/driver.rb 197 def initialize(defaults = {}) 198 @instances = defaults 199 end
Public Instance Methods
connect(addresses)
click to toggle source
# File lib/cassandra/driver.rb 201 def connect(addresses) 202 profile_manager.load_balancing_policies.each do |lbp| 203 lbp.setup(cluster) 204 cluster_registry.add_listener(lbp) 205 end 206 207 cluster_registry.add_listener(control_connection) 208 listeners.each do |listener| 209 cluster.register(listener) 210 end 211 212 logger.debug('Populating policies and listeners with initial endpoints') 213 addresses.each {|address| cluster_registry.host_found(address)} 214 215 logger.info('Establishing control connection') 216 217 promise = futures_factory.promise 218 219 control_connection.connect_async.on_complete do |f| 220 if f.resolved? 221 promise.fulfill(cluster) 222 else 223 f.on_failure do |e| 224 cluster.close_async 225 promise.break(e) 226 end 227 end 228 end 229 230 promise.future 231 end
Private Instance Methods
create_schema_fetcher_picker()
click to toggle source
# File lib/cassandra/driver.rb 235 def create_schema_fetcher_picker 236 picker = Cluster::Schema::Fetchers::MultiVersion.new(cluster_registry) 237 238 picker.when('1.2') do 239 Cluster::Schema::Fetchers::V1_2_x.new(schema_fqcn_type_parser, cluster_schema) 240 end 241 picker.when('2.0') do 242 Cluster::Schema::Fetchers::V2_0_x.new(schema_fqcn_type_parser, cluster_schema) 243 end 244 picker.when('2.1') do 245 Cluster::Schema::Fetchers::V2_1_x.new(schema_fqcn_type_parser, cluster_schema) 246 end 247 picker.when('2.2') do 248 Cluster::Schema::Fetchers::V2_2_x.new(schema_fqcn_type_parser, cluster_schema) 249 end 250 picker.when('3.') do 251 Cluster::Schema::Fetchers::V3_0_x.new(schema_cql_type_parser, cluster_schema) 252 end 253 picker.when('4.') do 254 Cluster::Schema::Fetchers::V3_0_x.new(schema_cql_type_parser, cluster_schema) 255 end 256 257 picker 258 end