Advertisement
t_a_w

echo server

Dec 7th, 2016
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.91 KB | None | 0 0
  1. class UserEchoServer
  2.    def initialize(input=STDIN, output=STDOUT)
  3.       @input = input
  4.       @output = output
  5.       @view = View.new(@output)
  6.    end
  7.  
  8.    def echo_server_start
  9.       @view.welcome_and_instruction_message
  10.       @user_input = readline
  11.       while exit_entered? == false
  12.         @output.puts @user_input
  13.         @user_input = readline
  14.       end
  15.       @view.goodbye_message
  16.    end
  17.  
  18.   def readline
  19.     @input.readline.chomp
  20.   rescue EOFError
  21.     "exit"
  22.   end
  23.  
  24.     def exit_entered?
  25.         @user_input == "exit"
  26.     end
  27. end
  28.  
  29. class View
  30.     def initialize(output=STDOUT)
  31.        @output = output
  32.     end
  33.  
  34.     def welcome_and_instruction_message
  35.         @output.print "Welcome!\n"
  36.         @output.print "Enter anything or exit to finish:\n"
  37.     end
  38.  
  39.     def goodbye_message
  40.         @output.print "Goodbye!\n"
  41.     end
  42. end
  43.  
  44. # server = UserEchoServer.new
  45. # server.echo_server_start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement