Class: Computering::Cmd
- Inherits:
-
Object
- Object
- Computering::Cmd
- Defined in:
- lib/computering/cmd.rb
Defined Under Namespace
Classes: Exit
Constant Summary collapse
- CONTROL_C =
3
- ENTER =
13
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(file, stdin = STDIN, stdout = STDOUT) ⇒ Cmd
constructor
A new instance of Cmd.
- #readchars(item) ⇒ Object
Constructor Details
Instance Method Details
#execute ⇒ Object
17 18 19 20 21 |
# File 'lib/computering/cmd.rb', line 17 def execute @container.items.each do |item| readchars item unless item.blank? end end |
#readchars(item) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/computering/cmd.rb', line 23 def readchars(item) i = 0 @stdin.noecho do |io| @stdout.write item.padding if item.padding while char = io.getch raise Exit if char.ord == CONTROL_C if char.ord == ENTER @stdout.puts item[i..-1] item.execute @stdout.puts "#{item.padding}#{item.buffer}" if item.buffer @stdout.puts break else if item[i] while item[i] =~ /\s/ @stdout.write item[i] i += 1 end @stdout.write item[i] end i += 1 end end end end |