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 ‘super` if 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]>