public
Description: Sammy is a tiny javascript framework built on top of jQuery, It's RESTful Evented Javascript.
Homepage: http://code.quirkey.com/sammy
Clone URL: git://github.com/quirkey/sammy.git
sammy /
name age message
file .gitignore Mon May 11 12:14:23 -0700 2009 Ignore _site [quirkey]
file .gitmodules Mon Mar 23 20:38:32 -0700 2009 Extracted test style into jqunit-spec, vendored [quirkey]
file HISTORY Wed Jun 10 08:03:13 -0700 2009 New version released 0.2.0 Added HISTORY [quirkey]
file LICENSE Mon May 11 07:56:20 -0700 2009 Added MIT License. Also first draft of README [quirkey]
file README.md Thu Jun 04 18:11:38 -0700 2009 Added #sammy to the readme [quirkey]
file Rakefile Mon Jun 08 13:31:37 -0700 2009 Bumped version, reminified, added test for sing... [quirkey]
directory examples/ Loading commit data...
directory lib/ Wed Jun 10 08:03:13 -0700 2009 New version released 0.2.0 Added HISTORY [quirkey]
directory test/ Mon Jun 08 13:31:37 -0700 2009 Bumped version, reminified, added test for sing... [quirkey]
directory vendor/ Mon May 04 08:37:01 -0700 2009 Updated jqunit-spec [quirkey]
README.md

Sammy

http://code.quirkey.com/sammy

Description

Sammy is a tiny javascript framework built on top of jQuery inspired by Ruby's Sinatra.

Installation

Download sammy.js and install it in your public javascripts directory. Include it in your document AFTER jquery.

Usage

Like Sinatra, a Sammy application revolves around 'routes'. Routes in Sammy are a little different, though. Not only can you define 'get' and 'post' routes, but you can also bind routes to custom events triggered by your application.

You set up a Sammy Application by passing a Function to the $.sammy (which is a shortcut for the Sammy.Application constructor).

$.sammy(function() { with(this) {

  get('#/', function() { with(this) {
    $('#main').text('Welcome!');
  }});

}});

Inside of the 'app' function() this is the Application. This is where you can configure the application and add routes.

Above, we defined a get() route. When the browser is pointed to #/ the function passed to that route will be run. Inside of the route function, this is a Sammy.EventContext. EventContext has a bunch of special methods and properties including a params hash, the ability to redirect, render partials, and more.

Once you've defined an application the only thing left to do is run it. The best practice behavior is to encapulate run() in a document.ready block:

var app = $.sammy(...)

$(function() {
  app.run();
});

This will guaruntee that the DOM is loaded before we try to apply functionality to it.

Dependencies

Sammy requires jQuery > 1.3.2 Get it from: http://jquery.com

More!

Learn!

Keep informed!

License

Sammy is covered by the MIT License. See LICENSE for more information.

Sammy includes code originaly created by John Resig (Class implementation) and Greg Borenstien (srender).