Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/karmi/yaml_micro_chat

YAML based micro-chat in Sinatra framework for Ruby
https://github.com/karmi/yaml_micro_chat

Last synced: 3 months ago
JSON representation

YAML based micro-chat in Sinatra framework for Ruby

Awesome Lists containing this project

README

        

= YAML-based micro chat with Sinatra

=== About

This 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 (and prototype.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)

=== Installation

Unpack 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: http://sinatra.rubyforge.org
* Prototype JavaScript library: http://www.prototypejs.org/
* Unobtrusive JavaScript: http://en.wikipedia.org/wiki/Unobtrusive_JavaScript

=== Credits

The application was created by Karel Minařík (www.karmi.cz)