¶ ↑
YAML-based micro chat with Sinatra¶ ↑
AboutThis mini-application demonstrates the elegance and power of the Ruby language, the Sinatra micro-framework and the Protoype JavaScript library.
It consists of six files for every essential aspect of the application:
-
The
chat.rb
file, which holds the application logic (loading and saving the messages) -
The
index.html
file, which defines the GUI of the application -
The
screen.css
which defines the visual style of the application -
The
aplication.js
(andprototype.js
) files which enable rich interactivity (continuous updating and instant posting) -
The
messages.yml
file which holds the data in YAML format (rename the messages.example file)
The layers are thus properly separated even in this micro-application. It degrades finely for browsers without JavaScript enabled.
It even features simplistic Unit tests for the application (see test
directory)
¶ ↑
InstallationUnpack the application, rename messages.example
to messages.yml
and run
ruby chat.rb
in the application directory in the console. You will see something like:
== Sinatra has taken the stage on port 4567!
Then point your browser to:
http://localhost:4567
¶ ↑
Resources-
Sinatra micro-framework: sinatra.rubyforge.org
-
Prototype JavaScript library: www.prototypejs.org/
-
Unobtrusive JavaScript: en.wikipedia.org/wiki/Unobtrusive_JavaScript
¶ ↑
CreditsThe application was created by Karel Minařík (www.karmi.cz)