BigBand is a stack of Sinatra extensions, most of them developed as part of BigBand, but usable without, each of available as a separate gem. All BigBand extensions follow the same release cycle.
Sinatra::BigBand in your application.
A simple example would be:
require 'sinatra/big_band' class MyApp < Sinatra::BigBand # ... end
Maybe you want all extensions except
require 'sinatra/big_band' class MyApp < Sinatra::BigBand :except => :Compass # ... end
The BigBand Stack
- Sinatra::AdvancedRoutes – Makes routes first class objects
- Sinatra::Compass – Integrates the Compass stylesheet framework
- Sinatra::ConfigFile – Adds YAML config file support
- Sinatra::MoreServer – Adds support for more web servers to Sinatra::Base#run!
- Sinatra::Namespace – Adds namespaces, allows namespaces to have local helpers.
- Sinatra::Reloader – Advanced and fast code reloader
- Sinatra::Sugar – Extensions for Sinatra's standard methods, like #set or #register
Sinatra tool integration:
- AsyncRack – Makes standard rack middleware play nice with
- Haml::More – Adds more functionality to Haml and Sass
- monkey-lib – Thin layer over ruby extension libraries (like ActiveSupport) to make those pluggable
- Sinatra::TestHelper – Adds helper methods and better integration for various testing frameworks
- Sinatra::Extension – Mixin to ease Sinatra extension development.
- Yard::Sinatra – Displays Sinatra routes (including comments) in YARD output
Besides those extensions, there are others in the BigBand stack, that are external:
Goals for 0.4.0
- No sub-project relies on BigBand
- All sub-projects should work with MRI/REE >= 1.8.6 (including 1.9.x), JRuby >= 1.4.0 and Rubinius >= 1.0
- Some sub-projects should work with MagLev and IronRuby (partial MacRuby support planned for later release)
- Ease to modify the stack
Setup via gem
gem install big_band
Running the specs / Manual setup
Try something like this:
# dependencies, rather mainstream. just in case you don't have one of those. gem install sinatra rspec rack-test rake # get the source git clone git://github.com/rkh/big_band.git rake setup:read_only # run the specs rake spec # run with multiple ruby implementations using rvm rvm specs ree,1.9.1,rbx,jruby