Equipment
Charge your Camping app with some equipments to survive the cyber wildness. I wanted to wait until I've completed the full set of tools but most of them are already quite usable.
Before starting the adventure, choose your tools righly. Follows a list of free tools.
Working equipment :
- Ext::AppUtil : Access to your app from a controller extension.
- Ext::BasicAuth : Handles HttpBasic authentication.
- Ext::ErubyView : Add Erb/Erubis template handling to your app.
- Ext::Flash : Flash data (like in rails).
- Ext::FormHelpers : Generate forms with the model.
- Ext::Forward : Forward a request (only for 1337 ppl).
- Ext::JsHelpers : Adds javascript helpers.
- Ext::Mount : Allows you to mount a directory as a controller for file serving. Supports dir listing too.
- Ext::Security : Generic handle for authentication and authorization.
- Ext::Sendfile : Provides
sendfile. Uses sendfile with mongrel if available. - Ext::Settings : Add configuration to your app.
- Ext::TemplateView : Extension that changes camping to allow easy adding of other templating languages.
- Ext::UseHelper : Tell your template what scripts your view is using.
- Ext::XmlView : Basic Xml builder. Ripped from some _why app. Ugly yet.
Not working equipment (TODO) :
- Ext::Controls : Helpers for html controls.
- Ext::NegociateContent : Content negociation.
- Ext::Og : Og utilities to integrate in Camping better.
- Ext::OgScaffold : Scaffolding.
- Ext::OgSession : Session handling.
- Ext::Resource : Rest Controller like ActiveResource.
WARNING !!!
Equipment pokes the Camping code around. This may give unwanted results.
Before reporting, please make take care to :
- NOT equip and extension while an app is running.
- Make SURE to call
superif you override YourApp.create
Features
- The above equipments.
- Dependencies are automatically resolved.
- Equipment itself provides a cool extension mechanism.
Usage
Include an equipment in your app's module to instantly get the features that it describes. Modules and classes below are automatically included because of Equipment#included(app) which is defined in each equipment by extending the Equipment module.
example : require 'camping' require 'ext/mount'
Camping.goes :YourApp
module YourApp equip Ext::Mount
module Controllers
# ::mount is now available here
mount '/somepath', :name=>:ControllerName, :url=>'/here'
end
end
see in the examples for more details.
License
GPL v2
Author(s)
- Jonas Pfenniger [email protected]