Bivouac

Copyright (C) 2007, 2008 Gregoire Lejeune

DESCRIPTION:

Bivouac is a simple generator for camping.

PLUGINS:

  • iUI's Tent
  • Roo's Tent
  • Scaffold's Tent
  • Tooltip
  • Will Paginate

FEATURES/PROBLEMS:

0.4.0:

  • Work with Camping >= 1.9 ! This is the most important !
  • options_for_javascript bug correction
  • in environment.rb, address has been renamed host
  • markaby dependency added
  • Add :ieOnly option to javascript_include_tag
  • postamble.rb is deprecated
  • script/plugin and Bivouac::Plugin class have been modified to support a new Rakefile task : plugin:update
  • Update "Not Found" controller
  • Replace before_filter with the better Magnus Holm solution (http://github.com/judofyr/filtering_camping/tree/master)
  • script/generate view is no longer deprecated.
  • Add helper generator.
  • not_found controller changed
  • Upgrade Script.aculo.us (1.8.2)

0.3.0:

  • script/plugin improvements
  • Add before_filter
  • Move console.rc from script to config (Bug)
  • Rename :session_type to :session in environment.rb
  • Add rake tasks bivouac:update, bivouac:update:all, bivouac:update:app, bivouac:update:configs, bivouac:update:public and bivouac:update:scripts. Use FORCE=1 (or true) to force update
  • Bivouac::Template#copyTemplate has been modified

0.2.5:

  • Bugs corrections for DB sessions
  • New parameter in environment.rb to force the use of a specific server: :server_force
  • Bug correction when loading create and database schema
  • Humanize app path

0.2.4:

  • Add rc file for script/console
  • script/generate view is deprecated.
  • controller generator now support view :
    ruby script/generate controller my_controller my_view_one my_view_two ...
    
  • Add RemoveColumnsFromTable-like migration
  • Rewrite generators help
  • cookies_sessions move from lib to lib/camping
  • Improved support for multiple layouts: add the layout helper for controller. You can use 'layout :mylayout' instead of '@layout = "mylayout"' in your controller. Use 'layout :none' if you don't want to use a layout.

0.2.3:

0.2.2:

  • Postamble has been completely rewritten. So :

    Usage: server [thin|mongrel|webrick] [option] -p port : Runs Bivouac on the specified port (default 3301) -b ip : Binds Bivouac to the specified ip (default 0.0.0.0) -d start|stop|restart : Make server run as a Daemon.

  • Bivouac::Template#copyTemplate and Bivouac::Template#template have been modified to support backpack, the new plugin generator

    gem install backpack
    

0.2.1:

  • Add addControllerHelperModule and controllerHelperModule
  • iUI's Tent Plugin beta
  • Add rake task for plugins documentation
  • Loading a static page with Webrick now work

0.2.0:

  • Class Bivouac::Generate has been completely rewritten
  • Scaffold generator is no longer un Bivouac Core, use scaffold_s_tent plugin
  • Add Generator plugins support
  • iUI's Tent Plugin (alpha-2)
  • Add Scaffols's Tent Plugin

0.1.6:

  • Plugins now support Rake tasks
  • Add plugin:list task
  • Tooltip is no longer in Bivouac Core, it's a plugin
  • iUI's Tent Plugin (alpha)

0.1.5:

  • Upgrade prototype (1.6.0.2)
  • Upgrade Script.aculo.us (1.8.1)
  • Add sound helper

0.1.4:

  • Add Thin (http://code.macournoyer.com/thin/) support -- Thin is now the default Webserver
  • class Public modified to support thin :
    @headers['X-Sendfile'] = File.join PATH, '..', 'public', file
    replaced by 
    @body = open( File.join( PATH, '..', 'public', file ) )
    
  • Add image_path function
  • ERB applications are no longer supported. Sorry!
  • Add script/plugin (beta -- hum... bivouac is beta!)
  • Update index page

0.1.3:

  • add script/console
  • add Rakefile
  • Mineur bug corrections

0.1.2:

  • You can now use $ ruby script/server webrick [options]

0.1.1:

  • Mineur bug correction in postamble to be really ready for Rails 2.0 !!!!!
  • the index class is no longer Root (but Index)

0.1.0:

  • Add plugins support. See will_paginate plugin for Bivouac.
  • Ready for Rails 2.0 !!!!

0.0.9:

  • Upgrade to simple-daemon >= 0.1.2

  • Better migration support! And migrate is now migration ! That's better no ?

  • Add MySQL, PostgreSQL, ... support. See $ bivouac -h

  • Add tests support with mosquito :

    $ ruby script/generate test my_test_name
    

    To run a test, juste do :

    $ ruby test/test_my_test_name.rb
    

0.0.8:

  • Bivouac now work with WEBrick -- Bug correction
  • Markaby::Builder.set(:indent, 2)

0.0.7:

  • --postamble' bivouac option is deprecated! You can use the -d option to start your application as a daemon :

    $ ruby script/server -d start
    

    Then stop your server with :

    $ ruby script/server -d stop
    

    If you don't want to demonize you app, just do $ ruby script/server

  • This version include helpers with a lot of limitations...

0.0.6:

  • Scaffold now works with ERB! It's now time to work on a real scaffold!

0.0.5:

  • new generator : scaffold! -- maybe someone need it!
  • Ho my god! the code is horrible!

0.0.4:

  • the application file is now in app and not in app/controller
  • Mongrel postamble is no more in the TODO list
  • You can specify which address (-a) and port (-P) to bind to.

0.0.3:

  • Model generation is now ok (i hope)
  • It's now possible to create "Get Out of Hand" and "Eruby/Erb" projects
  • script/generate have 3 new options :
    • -v if you don't want to create the view
    • -d if you don't want the default route
    • -r if you want to add more routes
  • Only sqlite3 is supported

0.0.2:

  • So many problems!

0.0.1:

  • Can't generate models and migrates

Extra:

  • With camping 1.5 there is a bug in /usr/lib/ruby/gems/1.8/gems/camping-1.5/lib/camping/webrick.rb line 59, change do_GET(req, res) to do_GET(req, resp)

TODO:

  • more helpers...

SYNOPSIS:

% bivouac -h
Usage: bivouac [options] app
bivouac, the generator for the microframework ON-button 
for ruby 1.8.6 (2007-06-07) [universal-darwin9.0]

Specific options:
-d, --database NAME              Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite2/sqlite3).
-P, --port PORT                  Which port to bind to (3301)
-a, --address ADDR               Address to bind to (0.0.0.0)
-S, --session TYPE               Session type (db|cookie). Default : cookie

Common options:
-?, --help                       Show this message
-v, --version                    Show version

% bivouac your_app_name
...
% cd your_app_name
% ruby script/generate -h
Usage: script/generate generator [options] [args]

Generators
Builtin: controller, model, migrate, view

controller generator options:
-v, --no-view                    Do not generate any view for the controller
-d, --no-route                   Do not add the default route to the controller 
                                 (/controller_name)
-r, --route ROUTE,ROUTE,...      Add ROUTES to the controller

Common options:
-h, --help                       Show this message

% ruby script/generate controller your_controller
...
% ruby script/server
...

REQUIREMENTS:

  • camping
  • mime-types
  • extra
  • simple-daemon
  • mosquito

INSTALL:

sudo gem install bivouac

or

sudo gem install bivouac --source=http://dev.rubyfr.net

LICENSE:

Bivouac 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.