Class: Kanal::Interfaces::SimpleCli::SimpleCliInterface
Overview
This interface provides input/output with the cli
Instance Attribute Summary
#core
Instance Method Summary
collapse
#consume_input, #consume_output, #modify_core, #router
Constructor Details
16
17
18
19
20
21
22
23
|
# File 'lib/kanal/interfaces/simple_cli/simple_cli_interface.rb', line 16
def initialize(core)
super
@core.register_plugin Kanal::Plugins::Batteries::BatteriesPlugin.new
@core.register_output_parameter :quit
end
|
Instance Method Details
#start ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/kanal/interfaces/simple_cli/simple_cli_interface.rb', line 25
def start
loop do
puts ">>>"
input = @core.create_input
input.body = gets
output = router.create_output_for_input input
if output.quit
puts "Undestood! Quitting"
break
end
puts "[bot]: #{output.body}"
rescue Interrupt
puts "Got it! Hard stop. Bye bye!"
break
end
puts "End of conversation!"
end
|
#stop ⇒ Object
47
|
# File 'lib/kanal/interfaces/simple_cli/simple_cli_interface.rb', line 47
def stop; end
|