Look up a connection class by its name
# File lib/cool.io/dsl.rb, line 70 def [](connection_name) class_name = connection_name.to_s.split('_').map { |s| s.capitalize }.join begin Coolio::Connections.const_get class_name rescue NameError raise NameError, "No connection type registered for #{connection_name.inspect}" end end
Connect to the given host and port using the given connection class
# File lib/cool.io/dsl.rb, line 22 def connect(host, port, connection_name = nil, *initializer_args, &block) if block_given? initializer_args.unshift connection_name if connection_name klass = Class.new Cool.io::TCPSocket connection_builder = ConnectionBuilder.new klass connection_builder.instance_eval(&block) else raise ArgumentError, "no connection name or block given" unless connection_name klass = self[connection_name] end client = klass.connect host, port, *initializer_args client.attach Cool.io::Loop.default client end
Create a new Cool.io::TCPSocket class
# File lib/cool.io/dsl.rb, line 58 def connection(name, &block) # Camelize class name class_name = name.to_s.split('_').map { |s| s.capitalize }.join connection = Class.new Cool.io::TCPSocket connection_builder = ConnectionBuilder.new connection connection_builder.instance_eval(&block) Coolio::Connections.const_set class_name, connection end
Run the default Cool.io event loop
# File lib/cool.io/dsl.rb, line 17 def run Cool.io::Loop.default.run end
Create a new Cool.io::TCPServer
# File lib/cool.io/dsl.rb, line 40 def server(host, port, connection_name = nil, *initializer_args, &block) if block_given? initializer_args.unshift connection_name if connection_name klass = Class.new Cool.io::TCPSocket connection_builder = ConnectionBuilder.new klass connection_builder.instance_eval(&block) else raise ArgumentError, "no connection name or block given" unless connection_name klass = self[connection_name] end server = Cool.io::TCPServer.new host, port, klass, *initializer_args server.attach Cool.io::Loop.default server end