Sha256: 85ee17911caa5e8f62b7c810f8e7f6d20009544074bf889ef58cc2cbc25acf8b
Contents?: true
Size: 773 Bytes
Versions: 1
Compression:
Stored size: 773 Bytes
Contents
require 'rubinstein/actions' module Rubinstein class Runner < BasicObject class << self def const_missing(name) Kernel.const_get(name) end end include Rubinstein::Actions attr_accessor :__world, :__handled def initialize(world) @__world = world end def __handle! @__handled = true end def __execute(string) @__handled = false instance_eval(string) __puts "I don't understand" unless @__handled end def __puts(message) $stdout.puts(message) end def method_missing(name,*args) return *args.flatten.unshift(name.to_s) end def look(*args) __puts @__world.player.location.instance_eval(:@description) __handle! end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubinstein-0.0.2 | lib/rubinstein/runner.rb |