Sha256: b3784a213fb739a262d3f6ee71deff0d91a4e4c34a8d3639fe1db008691afe57
Contents?: true
Size: 1013 Bytes
Versions: 3
Compression:
Stored size: 1013 Bytes
Contents
require 'sinatra/base' require 'haml' require 'woyo/world' module Woyo class Server < Sinatra::Application def self.load_world world = Woyo::World.new Dir['world/*.rb'].each do |filename| world.instance_eval File.read filename end world end configure do enable :sessions set root: '.' set views: Proc.new { File.join(root, "views/server") } set public_folder: Proc.new { File.join(root, "public/server") } set world: self.load_world end def world settings.world end get '/' do redirect to 'default.html' if world.locations.empty? || ( !@location && !world.start ) @location ||= world.locations[world.start] session[:location] = @location haml :location end get '/go/*' do |way| @location = session[:location].ways[way.to_sym].to session[:location] = @location haml :location end get '/do/*/*?/*?' do |item,action,tool| # do default or optional action on required item with optional tool end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
woyo-server-0.0.5 | lib/woyo/server/server.rb |
woyo-server-0.0.4 | lib/woyo/server/server.rb |
woyo-server-0.0.2 | lib/woyo/server/server.rb |