Ruby on Rails
Controller Extensions (Version #16)

Flexible Rails: flex_scaffold

  • Flex Scaffold should allow you to swap in and out different view layers on your REST controller. For example, to use the model contact, use flex_scaffold: contact

homepage: http://flexible-rails.rubyforge.org/

svn: svn://rubyforge.org/var/svn/flexible-rails/flex_scaffold/trunk

install: script/plugin install svn://rubyforge.org/var/svn/flexible-rails/flex_scaffold/trunk

ActionFlow

  • A cool and nifty ActionController extension which allows the creation of flows. Can create complex flows in two minutes, including error handling.

homepage: http://actionflow.devdonkey.org

svn: svn://rubyforge.org/var/svn/actionflow

install: script/plugin install svn://rubyforge.org/var/svn/actionflow/trunk/action_flow

Simple Sidebar
  • A plugin that makes component, partial or completely static sidebars as easy as a few class method declarations and a single view method. Flexible, simple, easy to cache.

homepage: http://www.mathewabonyi.com/

svn: http://mabs29.googlecode.com/svn/trunk/plugins/simple_sidebar

Injection

  • A simple dependency injection plugin for rails which lets you inject objects into your controllers which have been declared in a YAML file.

homepage: http://injection.rubyforge.org

svn: svn://rubyforge.org//var/svn/injection/tags/injection

http_caching

  • Allows your Rails application to take advantage of the caching mechanisms built into HTTP 1.1 (i.e., 304 Not Modified return code). Inspired by a Rails cookbook entry (manuals.rubyonrails.com/read/chapter/62).

svn: http://svn.codahale.com/http_caching/

xhtml_content_type

  • xhtml_content_type allows you to set the default MIME type for rendered .rhtml views to application/xhtml+xml if the client supports it, and only falling back to text/html for older clients.

svn: http://svn.codahale.com/xhtml_content_type

Real Components Plugin

homepage: http://zeus.maia.ub.es/~cerquide/real_components

BroomStick – Easy Page Cache Sweeping

homepage: http://www.recentrambles.com/pragmatic/view/49

svn: http://www.svn.recentrambles.com/plugins/broomstick/

Content Cache Plugin

  • Cache rendered views within the context of your layout, allowing you to mix dynamic content with cached static content.

svn: http://svn.codahale.com/content_cache

Timed File Store

  • Simple expiry of the fragment cache by file timestamps.

svn: http://happygiraffe.net/svn/public/timed_file_store/trunk/

Javascript Generator Templates Plugin (aka RJS Templates)

svn: http://www.codyfauser.com/svn/projects/plugins/javascript_generator_templates

Action Cache Update Plugin

  • Drop in replacement for the Action Cache to provide a better cache

svn: http://craz8.com/svn/trunk/plugins/action_cache

Authenticates Via Typekey Plugin

  • Drop in module that lets your rails application authenticate via Typekey from Six Apart

homepage: http://www.technologyfusion.com/pages/authenticates_via_typekey

svn: svn://rubyforge.org//var/svn/auth-typekey

Relative Path Plugin

  • `url_for’ generates not absolute path (/:controller/:action/:id) but relative_path (../../:controller/:action/:id)

svn: http://opensvn.csie.org/relative_path/trunk

Double Filter Plugin

  • Add filtering feature by two columns.

svn: http://opensvn.csie.org/double_filter/trunk

ImageMagick Tag Plugin

  • RMagick wrapper. Provides a few simple methods to process your images with ImageMagick.

homepage: http://vantulder.net/rails/magick/

svn: http://opensvn.csie.org/rails_imagemagick_tag/imagemagick_tag

Undo Helper Plugin

  • Adds an Undo button that lets users undo their actions. Stores undo actions in the user’s session.

homepage: http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/

svn: http://labnotes.org/svn/public/ruby/rails_plugins/undo_helper/

Responds to Parent

  • Eases IFRAME remoting by rendering RJS page updates to the parent window. Useful for AJAXy file uploads.

svn: http://sean.treadway.info/svn/plugins/responds_to_parent

History

  • store user action, avoiding storage of POST and Ajax request and provides a way to specify by hand which action not to store.

homepage:
http://blog.cosinux.org/pages/rails-history

Context?

  • Provide an easy way of determining the context of incoming request (respond_to-like API) for apps with multiple workflows hitting a single action that need different RJS reponses.

homepage: http://codefluency.com/articles/2006/07/01/rails-views-getting-in-context/
bq. svn:
http://svn.codefluency.com/rails/plugins/context

Param Types?

  • Preprocess incoming parameters hash for custom, defined types (useful for munging and building complex objects for use in actions).

homepage: http://codefluency.com/articles/2006/07/13/rails-views-preprocessing-parameters/
bq. svn:
http://svn.codefluency.com/rails/plugins/param_types

KRJS?

  • Event-based/declarative way of defining Ajax/RJS portions of the page. Add on_user_country_change() to your controller, and your “user_country” select-box will make an Ajax call there when changed.

homepage: http://blog.yanime.org/articles/tag/krjs

svn: http://choonkeat.svnrepository.com/svn/rails-plugins/krjs

Codex

  • Stores your flash messages in YAML files. Loads them on the fly based on the current controller/action. Allows you to easily test against flash notices without hard-coding text in your tests.

homepage: http://thebootstrapnation.com/automate-your-rails-flash-messages-with-codex/

svn: http://svn.thebootstrapnation.com/public/plugins/codex

ScopeControllerModel Plugin

  • ScopeControllerModel plugin was created to DRY up controller and model logic when working a common data model pattern. Particularly, when access to model data is restricted to the current_user or their account.

homepage: http://elctech.com

svn: http://svn.elctech.com/svn/public/plugins/scope_controller_model

Comatose

  • A micro CMS that is designed to be easy to embed and extend.

homepage: http://www.mattmccray.com/archives/category/software/rails/comatose/

svn: http://www.mattmccray.com/svn/rails/plugins/comatose/

Assert Request

  • The assert_request plugin provides an easy way to make sure that your rails actions are only called with the method, protocol, and parameters that you expect. This can save a considerable amount of error-checking code, uncover hidden bugs, and prevent security holes.

homepage: http://validaterequest.rubyforge.org/

svn: svn://rubyforge.org//var/svn/validaterequest/plugins/assert_request/

Secure Action

  • Secures actions against assumed-logged-in attacks. See project page for installation details and usage.

homepage:
http://code.google.com/p/secure-action-plugin/

svn:
http://secure-action-plugin.googlecode.com/svn/

Query String Action Caching

  • Allows you to use action caching to cache url query strings such as “http://site/search?q=string&page=2&z=foo+bar”

homepage:
http://rubyforge.org/projects/caching-plugin/

svn:
svn://rubyforge.org/var/svn/caching-plugin

Acts As Renderable

  • Allows ERb code stored in ActiveRecord to be rendered as by ActionView.

homepage: http://sprocket.slackworks.com/zope/swx/projects/acts_as_renderable/

svn: http://sprocket.slackworks.com/svn/rails/plugins/acts_as_renderable/

 
 

js_on_demand

  • Mixes in controller, view and request methods to help create javascript cross site APIs like Google AJAX Search API.

homepage: http://rails.simpltry.com/

svn: http://svn.simpltry.com/plugins/js_on_demand

Find Resource

  • This Rails plugin creates a finder method in your controller, based on the controller name. For instance, if your controller was called PostsController, a find_post method would be created. A before_filter is also added for the show, edit, update and destroy actions

homepage: http://dev.turnipspatch.com/trac/wiki/FindResource

svn: http://svn.turnipspatch.com/public/find_resource/

XSendFile

  • The XSendFile plugin provides a simple interface for sending files via the X-Sendfile HTTP header. This enables your web server to serve the file directly from disk, instead of streaming it through your Rails process. This is faster and saves a lot of memory if you‘re using Mongrel. Not every web server supports this header. YMMV.

homepage:
http://john.guen.in/rdoc/x_send_file/

svn:
http://john.guen.in/svn/plugins/x_send_file/

Hidden Field Session

  • Hidden Field Session plugin provides a simple function to keep session even when web browser does not support cookies. This plugin enables the browser to keep session not by cookies but by session_id embeded in url.

The name of this plugin comes from hidden text field tags which is added by this plugin.
The hidden text fields contain the pair—session_key and session_id.

svn:
http://opensvn.csie.org/hidden_field_session/trunk/hidden_field_session/

UrlWriter Retardase Inhibitor

  • This plugin allows you to use url_for and other named route generation within ActionMailer.

homepage: http://www.pivotalblabs.com/articles/2007/08/20/how-i-leaned-to-stop-hating-and-love-action-mailer

svn: http://svn.devjavu.com/malaysia-rb/plugins/retardase_inhibitor/

Flexible Rails: flex_scaffold

  • Flex Scaffold should allow you to swap in and out different view layers on your REST controller. For example, to use the model contact, use flex_scaffold: contact

homepage: http://flexible-rails.rubyforge.org/

svn: svn://rubyforge.org/var/svn/flexible-rails/flex_scaffold/trunk

install: script/plugin install svn://rubyforge.org/var/svn/flexible-rails/flex_scaffold/trunk

ActionFlow

  • A cool and nifty ActionController extension which allows the creation of flows. Can create complex flows in two minutes, including error handling.

homepage: http://actionflow.devdonkey.org

svn: svn://rubyforge.org/var/svn/actionflow

install: script/plugin install svn://rubyforge.org/var/svn/actionflow/trunk/action_flow

Simple Sidebar
  • A plugin that makes component, partial or completely static sidebars as easy as a few class method declarations and a single view method. Flexible, simple, easy to cache.

homepage: http://www.mathewabonyi.com/

svn: http://mabs29.googlecode.com/svn/trunk/plugins/simple_sidebar

Injection

  • A simple dependency injection plugin for rails which lets you inject objects into your controllers which have been declared in a YAML file.

homepage: http://injection.rubyforge.org

svn: svn://rubyforge.org//var/svn/injection/tags/injection

http_caching

  • Allows your Rails application to take advantage of the caching mechanisms built into HTTP 1.1 (i.e., 304 Not Modified return code). Inspired by a Rails cookbook entry (manuals.rubyonrails.com/read/chapter/62).

svn: http://svn.codahale.com/http_caching/

xhtml_content_type

  • xhtml_content_type allows you to set the default MIME type for rendered .rhtml views to application/xhtml+xml if the client supports it, and only falling back to text/html for older clients.

svn: http://svn.codahale.com/xhtml_content_type

Real Components Plugin

homepage: http://zeus.maia.ub.es/~cerquide/real_components

BroomStick – Easy Page Cache Sweeping

homepage: http://www.recentrambles.com/pragmatic/view/49

svn: http://www.svn.recentrambles.com/plugins/broomstick/

Content Cache Plugin

  • Cache rendered views within the context of your layout, allowing you to mix dynamic content with cached static content.

svn: http://svn.codahale.com/content_cache

Timed File Store

  • Simple expiry of the fragment cache by file timestamps.

svn: http://happygiraffe.net/svn/public/timed_file_store/trunk/

Javascript Generator Templates Plugin (aka RJS Templates)

svn: http://www.codyfauser.com/svn/projects/plugins/javascript_generator_templates

Action Cache Update Plugin

  • Drop in replacement for the Action Cache to provide a better cache

svn: http://craz8.com/svn/trunk/plugins/action_cache

Authenticates Via Typekey Plugin

  • Drop in module that lets your rails application authenticate via Typekey from Six Apart

homepage: http://www.technologyfusion.com/pages/authenticates_via_typekey

svn: svn://rubyforge.org//var/svn/auth-typekey

Relative Path Plugin

  • `url_for’ generates not absolute path (/:controller/:action/:id) but relative_path (../../:controller/:action/:id)

svn: http://opensvn.csie.org/relative_path/trunk

Double Filter Plugin

  • Add filtering feature by two columns.

svn: http://opensvn.csie.org/double_filter/trunk

ImageMagick Tag Plugin

  • RMagick wrapper. Provides a few simple methods to process your images with ImageMagick.

homepage: http://vantulder.net/rails/magick/

svn: http://opensvn.csie.org/rails_imagemagick_tag/imagemagick_tag

Undo Helper Plugin

  • Adds an Undo button that lets users undo their actions. Stores undo actions in the user’s session.

homepage: http://blog.labnotes.org/2006/05/23/better-web-apps-add-an-undo-button/

svn: http://labnotes.org/svn/public/ruby/rails_plugins/undo_helper/

Responds to Parent

  • Eases IFRAME remoting by rendering RJS page updates to the parent window. Useful for AJAXy file uploads.

svn: http://sean.treadway.info/svn/plugins/responds_to_parent

History

  • store user action, avoiding storage of POST and Ajax request and provides a way to specify by hand which action not to store.

homepage:
http://blog.cosinux.org/pages/rails-history

Context?

  • Provide an easy way of determining the context of incoming request (respond_to-like API) for apps with multiple workflows hitting a single action that need different RJS reponses.

homepage: http://codefluency.com/articles/2006/07/01/rails-views-getting-in-context/
bq. svn:
http://svn.codefluency.com/rails/plugins/context

Param Types?

  • Preprocess incoming parameters hash for custom, defined types (useful for munging and building complex objects for use in actions).

homepage: http://codefluency.com/articles/2006/07/13/rails-views-preprocessing-parameters/
bq. svn:
http://svn.codefluency.com/rails/plugins/param_types

KRJS?

  • Event-based/declarative way of defining Ajax/RJS portions of the page. Add on_user_country_change() to your controller, and your “user_country” select-box will make an Ajax call there when changed.

homepage: http://blog.yanime.org/articles/tag/krjs

svn: http://choonkeat.svnrepository.com/svn/rails-plugins/krjs

Codex

  • Stores your flash messages in YAML files. Loads them on the fly based on the current controller/action. Allows you to easily test against flash notices without hard-coding text in your tests.

homepage: http://thebootstrapnation.com/automate-your-rails-flash-messages-with-codex/

svn: http://svn.thebootstrapnation.com/public/plugins/codex

ScopeControllerModel Plugin

  • ScopeControllerModel plugin was created to DRY up controller and model logic when working a common data model pattern. Particularly, when access to model data is restricted to the current_user or their account.

homepage: http://elctech.com

svn: http://svn.elctech.com/svn/public/plugins/scope_controller_model

Comatose

  • A micro CMS that is designed to be easy to embed and extend.

homepage: http://www.mattmccray.com/archives/category/software/rails/comatose/

svn: http://www.mattmccray.com/svn/rails/plugins/comatose/

Assert Request

  • The assert_request plugin provides an easy way to make sure that your rails actions are only called with the method, protocol, and parameters that you expect. This can save a considerable amount of error-checking code, uncover hidden bugs, and prevent security holes.

homepage: http://validaterequest.rubyforge.org/

svn: svn://rubyforge.org//var/svn/validaterequest/plugins/assert_request/

Secure Action

  • Secures actions against assumed-logged-in attacks. See project page for installation details and usage.

homepage:
http://code.google.com/p/secure-action-plugin/

svn:
http://secure-action-plugin.googlecode.com/svn/

Query String Action Caching

  • Allows you to use action caching to cache url query strings such as “http://site/search?q=string&page=2&z=foo+bar”

homepage:
http://rubyforge.org/projects/caching-plugin/

svn:
svn://rubyforge.org/var/svn/caching-plugin

Acts As Renderable

  • Allows ERb code stored in ActiveRecord to be rendered as by ActionView.

homepage: http://sprocket.slackworks.com/zope/swx/projects/acts_as_renderable/

svn: http://sprocket.slackworks.com/svn/rails/plugins/acts_as_renderable/

 
 

js_on_demand

  • Mixes in controller, view and request methods to help create javascript cross site APIs like Google AJAX Search API.

homepage: http://rails.simpltry.com/

svn: http://svn.simpltry.com/plugins/js_on_demand

Find Resource

  • This Rails plugin creates a finder method in your controller, based on the controller name. For instance, if your controller was called PostsController, a find_post method would be created. A before_filter is also added for the show, edit, update and destroy actions

homepage: http://dev.turnipspatch.com/trac/wiki/FindResource

svn: http://svn.turnipspatch.com/public/find_resource/

XSendFile

  • The XSendFile plugin provides a simple interface for sending files via the X-Sendfile HTTP header. This enables your web server to serve the file directly from disk, instead of streaming it through your Rails process. This is faster and saves a lot of memory if you‘re using Mongrel. Not every web server supports this header. YMMV.

homepage:
http://john.guen.in/rdoc/x_send_file/

svn:
http://john.guen.in/svn/plugins/x_send_file/

Hidden Field Session

  • Hidden Field Session plugin provides a simple function to keep session even when web browser does not support cookies. This plugin enables the browser to keep session not by cookies but by session_id embeded in url.

The name of this plugin comes from hidden text field tags which is added by this plugin.
The hidden text fields contain the pair—session_key and session_id.

svn:
http://opensvn.csie.org/hidden_field_session/trunk/hidden_field_session/

UrlWriter Retardase Inhibitor

  • This plugin allows you to use url_for and other named route generation within ActionMailer.

homepage: http://www.pivotalblabs.com/articles/2007/08/20/how-i-leaned-to-stop-hating-and-love-action-mailer

svn: http://svn.devjavu.com/malaysia-rb/plugins/retardase_inhibitor/