module Pc::Campfire
Public Instance Methods
choose(choices = {})
click to toggle source
# File lib/pc/interfaces/campfire.rb, line 26 def choose(choices = {}) if choices[:next] sleep 0.2 choices[:next] else say %{Pick one: #{choices.keys.join ' - '} } @room.each_message do |message| choice = choices.select{|k,v| k.to_s == message}.values.first return choice if choice end end end
enqueue(message, choices = {})
click to toggle source
# File lib/pc/interfaces/campfire.rb, line 18 def enqueue(message, choices = {}) (@actions ||= []).push message: message, choices: choices end
run(options = {})
click to toggle source
# File lib/pc/interfaces/campfire.rb, line 9 def run(options = {}) @room ||= Nico::Room.new options while action = (@actions ||= []).shift say action[:message] choose(action[:choices]).call run end end
say(message)
click to toggle source
# File lib/pc/interfaces/campfire.rb, line 22 def say(message) @room.say message end