Gives you the ability to easily add large numbers of boolean attributes to your models without the need for more than one migration. Allows you to easily setup a basic ACL or user preferences.
Blog: http://www.brennandunn.com/2008/3/24/preferencefu
Github: http://github.com/brennandunn/preference_fu/tree/master
This plugin allows you to send an SMS (text
message) to any cellphone, provided the phone
number and the carrier.
Read more…
Blog Post : http://brendanlim.com/2008/2/28/send-text-messages-from-rails-with-sms-fu
SVN : http://sms-fu.googlecode.com/svn/trunk/sms_fu
Github: http://github.com/brendanlim/sms-fu/
This adds highly customizable search functionality to your models. Easily set up a custom query-based search for each model and create custom attribute filters for your search. Read more…
SVN : http://svn.behindlogic.com/public/rails/plugins/is_searchable/
This adds a validation function that you can use in models that have email attributes. It will validate email addresses three ways:
Blog Post : http://rails.savvica.com/2007/11/6/email-veracity-plugin
SVN : http://svn.savvica.com/public/plugins/validates_email_veracity_of/
This Rails plugin allows you to prevent particular database fields from being changed after a record is created. A validation error occurs on updates if an attribute of a model object is different from its value in the database.
HomePage : http://constancy.rubyforge.org/
SVN : http://constancy.rubyforge.org/svn/plugin/validates_constancy
acts_as_preferenced is an easy to use preference system for your application. Preferences can be key/value pairs or model associated preferences
(ex. User 4 has preference X for Thing 42) and even supports assoicated class preferences such as Employee 4 has preference ‘ignore’ on UserNotifier. Full test coverage included.
HomePage : http://webwideconsulting.com/plugins/acts_as_preferenced/
http://svn.webwideconsulting.com/plugins/
SVN : http://webwideconsulting.com/plugins/acts_as_preferenced/
validate_attributes is a really simple plugin to validate specific attributes of a model unlike the method valid? which collectively validates all the attributes. This plugin provides the functionality of validating specific attribute(s) and skipping others’ validations and vice versa.
HomePage : http://expressica.com/plugins/validate_attributes
SVN : svn://vinsol.com/plugins/sur/validate_attributes
Post a comment : click here
Save keystrokes and stay DRY with SimplyPresentable:
< present!(foo).form do |f| >
<= f.text_field :bar >
< end >
Instead of
<% form_for(
foo.new_record? ? {
:url => 'http://example.com/foos',
:html => { :method => 'post', :id => 'new_foo', :class => 'new_foo' }
} :
{
:url => "http://example.com/foos/#{foo.id}",
:html => { :method => 'put', :id => 'foo_1', :class => 'foo' }
} :
) do |f| %>
<= f.text_field :bar >
< end >
SimplyPresentable is a plugin for that introduces the idea of presenters to rails
HomePage : http://simply_presentable.richcollins.net/
SVN : svn://richcollins.net/svn/simply_presentable
script/plugin install svn://richcollins.net/svn/simply_presentable
SimplyPresentable is fully tested as verified by rcov and heckle.
class Approvable < ActiveRecord::Base
belongs_to :approver,
:class_name => 'User',
:foreign_key => 'approver_id',
:conditions => ['authorized_approver = ?', true],
:extend => CheckApproverExtension
end
module CheckApproverExtension
def before_assignment(approver)
raise UnauthorizedApproverException unless approver.authorized_approver
end
end
svn:http://obiefernandez.com/svn/plugins/before_assignment
Simple Captcha provides the captcha authentication functionality in raubyonrails application. Its really simple to implement and it provides the multiple image styles to be displayed.
homepage:
http://expressica.com/2007/02/06/simple-captcha-released-the-captcha-for-rails-applications/
svn:
svn://rubyforge.org/var/svn/expressica/plugins/simple_captcha
create_table :classifier_models, :force => true do |t|
t.column :identifier, :int
t.column :classifiable_type, :string, :null => false
t.column :data, :blob
end
class Comment < ActiveRecords::Base
acts_as_classifiable :fields => ["text"], :categories => ["Spam", "Legit"]
end
@comment.train :legit
@comment.classify
description: http://cuttingtheredtape.blogspot.com/2006/05/actsasclassifiable.html
For example, generate a URL slug based on the title of a Page record and store it in url_slug. Slug will be unique within the parent_id.
class Page < ActiveRecord::Base
acts_as_slugable :source_column => :title, :target_column => :url_slug, :scope => :parent
end
admin_controller.rb
def reset_password
@user = User.find_by_login!(params[:id])
@user.password = "changeme"
@user.save
flash[:notice] = "#{@user.login}'s password was reset!"
rescue ActiveRecord::RecordNotFound
flash[:error] = "Could not reset user's password, unknown user."
ensure
redirect_to :action => 'index'
end
svn: http://soen.ca/svn/projects/rails/plugins/whiny_finder/trunk
Installation:
script/plugin install http://code.estadobeta.com/plugins/sluggable_finder/
Simple to use.
post.rb
class Post < ActiveRecord::Base
with_association_scope :order => "created_at DESC", :dependent => :delete_all do
# Both of these are ordered by created_at
has_many :posts
has_many :comments
# And yes we can override default behaviour
has_many :milestones, :order => "priority"
end
# Don't use created_at for this one
has_many :projects
end
svn: http://soen.ca/svn/projects/rails/plugins/association_scope/trunk 404
RubyForge Project Page: http://rateableplugin.rubyforge.org/
svn: svn://rubyforge.org/var/svn/rateableplugin/trunk
Just another one with the same functionality:
http://www.juixe.com/techknow/index.php/2006/07/05/acts-as-rateable-plugin/
Another rating plugin with a lot of customization options and the ability to cache total, count and average ratings per object, without the need to do count and avg calls on the ratings table.
Homepage: http://acts_as_rated.rubyforge.org
Repository: svn://rubyforge.org/var/svn/acts-as-rated/trunk/acts_as_rated
homepage:
http://www.crowdedweb.com/articles/2006/08/21/acts_as_toucher-ruby-on-rails-plugin
homepage: http://orya.co.uk/articles/2006/04/10/acts_as_priceable-rails-plugin-its-here 404
Usage:
homepage: http://webonrails.com/2006/09/12/plugin-state_select-generate-drop-down-selection-box-for-states/
homepage: http://www.juixe.com/techknow/index.php/2006/06/18/acts-as-commentable-plugin/
http://lunchroom.lunchboxsoftware.com/articles/2006/01/21/acts-as-state-machine
homepage: http://technoweenie.stikipad.com/plugins/show/Acts+as+Attachment
svn: http://svn.techno-weenie.net/projects/plugins/acts_as_attachment/
svn: svn://delynnberry.com/code/plugins/acts_as_dropdown/trunk
Download: http://phpmywebmin.josh.ch/_uploads/j0sh/update_habtm_attributes_plugin.zip
svn: http://opensvn.csie.org/rails_file_column/plugins/file_column/trunk
homepage: http://www.realityforge.org/articles/2005/12/02/validations-for-non-activerecord-model-objects
svn: http://www.realityforge.org/svn/code/active-form/trunk/
svn: http://svn.protocool.com/public/plugins/enumerations_mixin/
homepage: http://gabriel.gironda.org/articles/2005/12/08/bitfields-in-activerecord
homepage: http://gabriel.gironda.org/articles/2006/03/09/acts_as_urlnameable-released
homepage: http://ar-paranoid.rubyforge.org/
homepage: http://www.railtie.net/articles/2006/02/05/rails-acts_as_threaded-plugin
homepage: http://ar-versioned.rubyforge.org/
svn: http://svn.techno-weenie.net/projects/plugins/acts_as_versioned/
homepage: http://ar-deque.rubyforge.org/
svn: http://svn.dpiddy.net/plugins/acts_as_deque/
homepage:
http://adamjroth.com/articles/2006/07/23/rails-plugin-acts_as_auction 404
homepage: http://www.chwhat.com/projects/shellable
svn: http://svn.webwideconsulting.com/svn/acts_as_activated/
Customize the XML serialization of your model objects. The following code:
class Widget < ActiveRecord
belongs_to :factory
has_many :sprockets
xml_serialize [ :name, { :factory => [ :name, "factory" ] } ]
xml_serialization_options :factory, :cdata => true
xml_serialization_options :sprockets, :name=> 'components'
end
Widget.find(:first).to_xml
will produce:
<widget>
<name>Hydromatic Conflagulator</name>
<factory><![CDATA[John's Factory o' Conflagulation]]></factory>
<components>
<sprocket>
<name>Whatchamacallit</name>
<amount>17</amount>
</sprocket>
</components>
</widget>
installation:
svn co http://custom-xml-serialization.googlecode.com/svn/branches/1.0 vendor/plugins/custom_xml_serialization
homepage: http://tools.assembla.com/breakout/wiki/FreeSoftware
svn: http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/guid
homepage: http://laszlo-plugin.rubyforge.org/
homepage:
http://thepochisuperstarmegashow.com/projects/#spatialadapter
svn (works for both MySql and PostGIS) :
svn://rubyforge.org/var/svn/georuby/SpatialAdapter/trunk/spatial_adapter
homepage: http://rubyforge.org/projects/validator/
svn co http://validates-url.googlecode.com/svn/branches/1.0 vendor/plugins/validates_url
svn co https://modzer0.cs.uaf.edu/repos/hank/code/http_url_validation_improved
./script/plugin install -x https://modzer0.cs.uaf.edu/repos/hank/code/http_url_validation_improved
homepage: http://www.ccjr.name/blog/2006/01/25/http-url-validator
homepage: http://www.johnwulff.com/articles/2006/10/03/xml-validation-plugin
homepage: http://www.lacaraoscura.com/2006/07/11/validates-unlike-plugin/
homepage:
http://railtie.net/articles/2006/01/26/enhancing_rails_errors
homepage:
http://www.railtie.net/articles/2006/01/27/defining-numericality
svn:
svn://rubyforge.org//var/svn/autoescape
svn: http://svn.2750flesk.com/plugins/trunk/validates_captcha
svn: http://svn.inlet-media.de/svn/rails_extensions/plugins/acts_as_habtm_list
svn: svn://rubyforge.org//var/svn/force-uppercase
readme: http://svn.viney.net.nz/things/rails/plugins/acts_as_ordered/README
svn: http://svn.viney.net.nz/things/rails/plugins/acts_as_ordered
readme: http://svn.viney.net.nz/things/rails/plugins/validates_date_time/README
svn: http://svn.viney.net.nz/things/rails/plugins/validates_date_time
download:
http://www.spacebabies.nl/elfproef/
Validate email addresses against RFC 2822.
Takes the same options as validates_format_of
class Person < ActiveRecord::Base validates_email_format_of :email end
Description: http://multi-up.ca/code/
README: http://code.dunae.ca/validates_email_format_of/README
readme:
https://svn.greenpeace.org/repositories/rails_plugins/validates_as_email/tags/0.1.4/README
svn:
https://svn.greenpeace.org/repositories/rails_plugins/validates_as_email/tags/0.1.4
tarball: http://www.ashleymoran.me.uk/sql_decimal_support.tgz
svn: http://projects.netlab.jp/svn/rails_plugins/pessimistic_locking
svn: http://svn.hasmanythrough.com/public/plugins/habtm_create/
svn: svn://suven.no-ip.org/rails/plugins/allow_habtm_primary_key
file: http://suven.no-ip.org/allow_habtm_primary_key.tar.gz
format_column :sale_price, :as => :currency
svn: https://hattenschwetter.com/svn/hattenschwetter/rails_plugins/model_formatter/trunk
svn: svn://rubyforge.org/var/svn/arnesttransacts/trunk
file: http://www.kbmj.com/users/shinya/rails/validates_multiparameter_assignments-1.0.zip
svn: svn://caboo.se/plugins/atmos/activerecord_foreign_key_extensions
class TestRecord < ActiveRecord::Base
after_save :an_alert
def an_alert
logger.info "We could now asynchronously send an email to tons of people with this alert."
end
asynchronous :an_alert
end
svn: http://asynchronous.googlecode.com/svn/trunk/asynchronous/
homepage: http://code.inklingmarkets.com/asynchronous-rails-plugin/
svn: http://shanesbrain.net/svn/rails/plugins/acts_as_most_popular
homepage: http://errtheblog.com/post/14
svn: svn://errtheblog.com/svn/plugins/acts_as_textiled
homepage: http://errtheblog.com/post/27
svn: svn://errtheblog.com/svn/plugins/acts_as_cached
homepage: http://svn.nkryptic.com
homepage: http://blog.cbciweb.com/articles/2007/04/23/acts-as-bytefield-activerecord-bytefield-plugin
svn: http://railsstudio.com/svn/pub/plugins/selection_options_for/trunk/selection_options_for
Puts objects (rows) into a disjoint set data structure, which allows the efficient (constant amortised time) merging of rows into disjoint sets. Use this plugin if you have a large number of rows, and you want to group them into sets by a series of merges.
svn:
svn://rubyforge.org/var/svn/actsdisjoint/plugins/acts_as_disjoint/trunk
Rails plugin to allow sharing of one model object to another (share ‘rails cookbook’ to the ‘rails reading group’). Adds a number of methods to help find the objects that are shared, etc.
svn:svn://rubyforge.org/var/svn/actsasshareable
Overwrites to_param to append a url-friendly version of the model’s ‘name’ or ‘title’ attribute to it’s id. Useful for increasing search engine visibility of nested pages in your site.
SVN : http://svn.redshiftmedia.com/svn/plugins/
Acts as Taskable is a Rails plugin that allows any ActiveRecord class to automatically accept tasks
svn:http://acts-as-taskable.googlecode.com/svn/trunk/acts_as_taskable
ActsAsResource combines ActiveRecord and ActiveResource features in one class.
With Slugger you can use a field(s) of the model as a slug (URL friendly version of the record). So instead of controller/id you can use controller/slug (http://example.com/posts/1 => http://example.com/posts/my-post-title)