class Relayer::IRCSocket

Public Class Methods

new(client, host, port, ssl = false) click to toggle source
# File lib/relayer/socket.rb, line 6
def initialize(client, host, port, ssl = false)
  @client = client
  @socket = TCPSocket.new(host, port)

  if ssl
    @socket = OpenSSL::SSL::SSLSocket.new(@socket)
    @socket.sync_close = true # close both wrapper and irc socket on close
    @socket.connect
  end
  
  IRCSocketSelector.add_irc_socket(@socket, @client)
end

Public Instance Methods

close() click to toggle source
# File lib/relayer/socket.rb, line 34
def close
  @socket.close
end
read() click to toggle source
# File lib/relayer/socket.rb, line 19
def read
  data = @socket.gets
  data = data.sub "\r", ''
  
  lines = data.split "\r\n"
  
  lines.each do |line|
    @client.process_raw line
  end
end
send(line) click to toggle source
# File lib/relayer/socket.rb, line 30
def send(line)
  @socket.puts line
end