Module: Pc::Loop
- Included in:
- Game, Tournament
- Defined in:
- lib/pc/loop.rb
Class Method Summary collapse
Instance Method Summary collapse
- #exit ⇒ Object
- #goodbye ⇒ Object
- #run(interface, options = {}) ⇒ Object
- #say(message, choices = {}) ⇒ Object (also: #ask)
- #welcome ⇒ Object
Class Method Details
.included(base) ⇒ Object
3 4 5 |
# File 'lib/pc/loop.rb', line 3 def self.included(base) base.extend base end |
Instance Method Details
#exit ⇒ Object
22 23 24 |
# File 'lib/pc/loop.rb', line 22 def exit throw :exit end |
#goodbye ⇒ Object
18 19 20 |
# File 'lib/pc/loop.rb', line 18 def goodbye say %{Goodbye}, next: ->{exit} end |
#run(interface, options = {}) ⇒ Object
7 8 9 10 11 12 |
# File 'lib/pc/loop.rb', line 7 def run(interface, = {}) @interface ||= interface @options ||= welcome catch(:exit) { @interface.run @options } end |
#say(message, choices = {}) ⇒ Object Also known as: ask
26 27 28 |
# File 'lib/pc/loop.rb', line 26 def say(, choices = {}) @interface.enqueue , choices end |
#welcome ⇒ Object
14 15 16 |
# File 'lib/pc/loop.rb', line 14 def welcome say %{Welcome}, next: ->{goodbye} end |