Bivouac

Copyright © 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 (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:

ruby script/generate model user name:string mail:string

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 (code.macournoyer.com/thin/) support – Thin is now the default Webserver

  • class Public modified to support thin :

@headers = 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

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