= Capcode

Copyright (C) 2009 Gregoire Lejeune

* http://capcode.rubyforge.org
  
== DESCRIPTION: 

Capcode is a web microframework

== FEATURES/PROBLEMS:

=== 0.4.0
* Major bug correction !
* Add views...

=== 0.3.0
* Work with Rack 1.0.0

=== 0.2.0
* Add models with DataMapper and couch_foo
* Add two new options : :daemonize and :pid
* Bug correction in Route.

=== 0.1.0
* First public release
* No models !!!

== SYNOPSIS:

	# file: sample.rb
	require 'rubygems'
	require 'capcode'

	module Capcode
	  class Hello < Route '/hello'
	    def get
	      "Hello World #{Time.now} !"
	    end
	  end
	end
	
	Capcode.run( )

=== Running Capcode Apps

* Run: <tt>ruby sample.rb</tt>
* Visit http://localhost:3000/

=== Create model

	require 'rubygems'
	require 'capcode'
	require 'capcode/base/dm' # or require 'capcode/base/couchdb'

	class Story < Capcode::Base
	  include Capcode::Resource

	  property :id, Integer, :serial => true # only with DataMapper !
	  property :title, String
	  property :body, String
	  property :date, String
	end

See <tt>examples/blog-dm.rb</tt> and/or <tt>examples/blog-couchdb.rb</tt> for complete examples.

=== Create View

	# file: sample.rb
	require 'rubygems'
	require 'capcode'
	
	module Capcode
	  class Hello < Route '/hello'
	    def get
	      @t = Time.now
	      render :time
	    end
	  end
	end
	
	module Capcode::Views
	  def time
	    "Hello world #{@t}"
	  end
	end
	
	Capcode.run( )

=== Create Helper

	# file: sample.rb
	require 'rubygems'
	require 'capcode'
	
	module Capcode
	  class Hello < Route '/hello'
	    def get
	      @t = Time.now
	      render :time
	    end
	  end
	end
	
	module Capcode::Helpers
	  def bold( &b )
	    "<b>"+yield+"</b>"
	  end
	end
	
	module Capcode::Views
	  def time
	    "Hello world " + bold { @t }
	  end
	end
	
	Capcode.run( )

== REQUIREMENTS:

* rack

== INSTALL:

  sudo gem install capcode

== LICENSE:

Capcode is freely distributable according to the terms of the
GNU General Public License.

This program is distributed without any warranty. See the file
'COPYING' for details.

