Ruby / Roda - Web Framework / Plugins
Introduction
This page should contain a quick overview of available Roda plugins.
Plugins - (built-in)
Core Routing
| Plugin Name: |
Description: |
|
Adds request routing methods for all http verbs. |
|
Allows array matchers to backtrack if later matchers do not match. |
|
Adds class level routing methods, for a DSL similar to Sinatra. |
|
Treat HEAD requests like GET requests with an empty response body. |
|
Allows for multiple named route blocks that can be dispatched to inside main route block. |
|
Adds the ability to dispatch to multiple rack applications based on the request path prefix. |
|
Adds support for automatically returning 405 Method Not Allowed responses. |
|
Allows for modifying rack response arrays when using r.run, and continuing routing for 404 responses. |
Rendering
| Plugin Name: |
Description: |
|
Adds support for rendering CSS/JS javascript assets on the fly in development, or compiling them into a single compressed file in production. |
|
Adds support for streaming template responses using Transfer-Encoding: chunked. |
|
Allows match blocks to return arrays and hashes, using a json representation as the response body. |
|
Adds the ability to create inline templates by name, instead of storing them in the file system. |
|
Makes render method that work similarly to Padrino's rendering, using a layout by default. |
|
Adds partial method for rendering partials (templates prefixed with an underscore). |
|
Adds support for precompiling templates, saving memory when using a forking webserver. |
|
Adds render method for rendering templates, using tilt. |
|
Adds support for serving static files using Rack::Static. |
|
Adds ability to stream responses. |
|
Allows match blocks to return template name symbols, uses the template view as the response body. |
|
Allows for setting view options on a per-request basis. |
|
Adds websocket support using faye-websocket. |
View Helpers
| Plugin Name: |
Description: |
|
Allows storage of content in one template and retrieval of that content in a different template. |
|
Adds CSRF protection and helper methods using rack_csrf. |
|
Adds h method for html escaping. |
|
Render a template for each value in an enumerable. |
Request/Response Helpers
| Plugin Name: |
Description: |
|
Adds request and response methods related to http caching. |
|
Adds response methods for handling cookies. |
|
Allows modifying the default headers for responses. |
|
Allows overriding the default status for responses. |
|
Adds class methods for creating instance methods that delegate to the request, response, or class. |
|
Automatically delete response headers with empty values. |
|
Automatically drops response body and Content-Type/Content-Length headers for response statuses indicating no body. |
|
Augments request halt method for support for setting response status and/or response body. |
|
Adds request_module and response_module class methods for adding modules/methods to request/response classes. |
|
Gives response object access to request object. |
|
Port of Sinatra::Helpers methods not covered by other plugins. |
Routing Helpers
| Plugin Name: |
Description: |
|
Adds ability to automatically handle errors raised by the application. |
|
Adds before/after hook methods. |
|
Adds not_found method for handling responses not otherwise handled by a route. |
|
Adds pass method for skipping the current matching route block as if it didn't match. |
|
Adds support for rewriting paths before routing. |
|
Adds status_handler method for handling responses without bodies for a given status code. |
Matchers
| Plugin Name: |
Description: |
|
Makes root matcher match empty string in addition to single slash. |
|
Adds hash_matcher class method for easily defining hash matchers. |
|
Adds matchers using information from the request headers. |
|
Adds support for overriding default prefix/suffix used in match patterns. |
|
Adds matchers using information from the request params. |
|
Adds matchers using information from the request path. |
|
Considers a path of "/" as an empty path when doing a terminal match. |
|
Adds support for symbol-specific matching regexps. |
Other
| Plugin Name: |
Description: |
|
Delay building the rack app until Roda.app is called. |
|
Adds support for handling different execution environments (development/test/production). |
|
Adds ability to easily email a notification when an error is raised by the application. |
|
Adds flash handling. |
|
Adds support for heartbeats. |
|
Adds params method for indifferent parameters. |
|
Parses request bodies in JSON format. |
|
Adds support for sending emails using the routing tree. |
|
Allows the Roda app to be used as middleware by another app. |
|
Adds support for named paths. |
|
Switches the thread-safe cache from a shared cache to a per-thread cache. |
|
Stores and retrieves variables shared between multiple Roda apps. |
Plugins - (external)
| Plugin Name: |
Description: |
|
Adds autoforme method for automatic creation of administrative front-end for Sequel models. |
|
Adds form method for simple creation of html forms inside erb templates. |
|
Authentication Framework for Roda/Sequel/PostgreSQL. |
|
Resolves actions stored in roda-container. |
|
Adds authentication support for Roda. |
|
Adds realtime components using faye and opal. |
|
Turns application into an inversion of control (IoC) container. |
|
Changes routing methods to delegate to containers. |
|
Adds easy internationalization and localization support. |
|
Automatically parse JSON and URL-encoded requests. |
|
Parses route metadata from comments in an app file, allowing introspection of routes. |
|
Adds support for easily creating RESTful APIs. |
|
Adds params method for symbolized params. |
|
:will_paginate integration for Roda. |
|
Adds integration with Ruby Object Mapper. |