Module: Pc::Loop

Included in:
Game, Tournament
Defined in:
lib/pc/loop.rb

Class Method Summary collapse

Instance Method Summary collapse

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

#exitObject



22
23
24
# File 'lib/pc/loop.rb', line 22

def exit
  throw :exit
end

#goodbyeObject



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, options = {})
  @interface ||= interface
  @options ||= 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(message, choices = {})
  @interface.enqueue message, choices
end

#welcomeObject



14
15
16
# File 'lib/pc/loop.rb', line 14

def welcome
  say %{Welcome}, next: ->{goodbye}
end