class NerdFlirt::Client

Constants

COMMANDS

Attributes

user[RW]

Public Class Methods

new(server, user_name) click to toggle source
# File lib/nerd_flirt/client.rb, line 7
def initialize(server, user_name)
  @user = user
  @server = server
  @request = nil
  @response = nil

  @server.puts user_name

  listen
  send

  @request.join
  @response.join
end

Public Instance Methods

exit() click to toggle source
# File lib/nerd_flirt/client.rb, line 48
def exit
  puts "bye!"
  exit
end
help() click to toggle source
# File lib/nerd_flirt/client.rb, line 53
def help
  # show help text
end
listen() click to toggle source
# File lib/nerd_flirt/client.rb, line 22
def listen
  @response = Thread.new do
    loop {
      msg = @server.gets.chomp
      puts "#{msg}"
    }
  end
end
send() click to toggle source
# File lib/nerd_flirt/client.rb, line 31
def send
  @request = Thread.new do
    loop {
      print "> ".colorize(:magenta)
      input = $stdin.gets.chomp

      command = false
      if COMMANDS.include?(input)
        self.public_send(input)
        command = true
      end

      @server.puts input unless command
    }
  end
end
server() click to toggle source
# File lib/nerd_flirt/client.rb, line 61
def server
  @server
end
server=(server) click to toggle source
# File lib/nerd_flirt/client.rb, line 57
def server=(server)
  @server = server
end