README

Borges is a port of Seaside2 from Smalltalk to Ruby.  It is a web
application framework that uses Continuations to keep track of a user's
state.

USAGE

To use Borges:

require 'Borges'

To use Borges with WEBrick:

require 'Borges'
require 'Borges/WEBrick'

...

Borges::WEBrickServlet.start

This will start the WEBrickServlet on port 7000 and install an INT
handler.  You can kill the Server with ^C.

You should be able to launch Borges under WEBrick with the following
command (your path may be different):

ruby /usr/local/lib/ruby/site_ruby/1.8/Borges/WEBrick.rb

Then go to http://localhost:7000/borges/counter and see the counter
application.

EXAMPLES

All examples are installed into Ruby's default data dir
(/usr/local/share on my system) under examples/ruby/Borges (the full
path would then be /usr/local/share/examples/ruby/Borges).

SushiNet

SushiNet is a store that sells Sushi.

If your paths are the same, you can launch SushiNet with the following
command:

ruby -I./usr/local/share/examples/ruby/Borges/SushiNet /usr/local/share/examples/ruby/Borges/SushiNet.rb

Then go to http://localhost:7000/borges/store to see the store.

I know that say_goodbye is not implemented, it never was in Seaside,
and someday I may fix that.

ObjectSpaceBrowser

ObjectSpaceBrowser allows you to walk through ObjectSpace and classes
and their instances.  You can launch ObjectSpaceBrowser with the
following command:

ruby /usr/local/share/examples/ruby/Borges/ObjectSpaceBrowser.rb

Be careful when attempting to browse classes with a large number of
instances (like String) Borges may take a long time to build those
pages.

