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