Class: UserInput

Inherits:
Object
  • Object
show all
Defined in:
lib/user_input.rb

Instance Method Summary collapse

Instance Method Details

#callObject



21
22
23
24
25
# File 'lib/user_input.rb', line 21

def call
  puts "\033[32mEnter your input: \033[0m"
  input = clean_input
  input
end

#clean_inputObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/user_input.rb', line 4

def clean_input
  input = ""
  while (char = STDIN.getch) != "\r"
    if char == "\u0003" # Handle Ctrl+C
      puts "\nOperation cancelled."
      exit
    elsif char == "\u0008" || char == "\u007F" # Handle Backspace (ASCII 8 or 127)
      input.chop! unless input.empty?
      print "\b \b"
    else
      input << char
      print char
    end
  end
  input
end