views:

1842

answers:

40

I have seen many sites which provide the whole list of Rails plugins, Ruby libraries and Ruby gems, but we hardly use few of them and some may not suit our requirement and we spend a whole lot of time searching for useful plugins which suits our requirement.

I have created this poll, people can post useful libraries, gems and plugins which they have come across. It would be great help for newbies like me and to the entire Ruby on Rails community.

Note: to keep this poll as useful as possible, please remember:

  • Post only one library, gem, or plugin per answer
  • Mention the name of the library, gem, or plugin which you find it useful.
  • URL of the location of the resource
  • We don't want duplicate answers, so before posting check if the library has been mentioned already.

Thanks

+9  A: 

Formtastic - Awsome form helpers.

It lets you do things like this:

<% semantic_form_for @user do |f| %>
    <% f.inputs do %>
     <%= f.input :email %>
     <%= f.input :password %>
     <%= f.input :password_confirmation %>
    <% end %>

    <% f.buttons do %>
     <%= f.commit_button 'Sign Up' %>
    <% end %>
<% end %>

and get decent, semantic HTML:

Mr. Matt
Never seen this before - I'll have to take a look through!
Reuben Mallaby
I stumbled across this the other day in a thoughtbot blog post, figured I'd see if anyone had mentioned it on SO. This really is one of the best plugins I've ever used. It is so awesome it hurts.
jonnii
+11  A: 

Will Paginate - essential for pagination.

Mr. Matt
+5  A: 

Rspec - for BDD.

Mr. Matt
+9  A: 

Paperclip - Simple file uploads

Mr. Matt
+11  A: 

HAML and SASS http://haml.hamptoncatlin.com/

Reuben Mallaby
disagree with this, I think most people (especially on large projects) would rather have their html as html.
Omar Qureshi
The question didn't say large projects 8) And most people I know working on large Rails based projects ten to use HAML and SASS.
Reuben Mallaby
How many of the people who work on these projects are people who come from a completely front end background. JUST XHTML and CSS? Even if its 1, the benefits(?) of HAML and SASS are negated by that person who spent their entire career learning CSS and XHTML because of the differences in Syntax.
Omar Qureshi
Luckily this question was tagged "subjective" as in your opionion it's not good, but in mine it is very good. Vote up the gems/plugins that you do like 8)
Reuben Mallaby
I love HAML and SASS. You get much more readable views with it. You also can't miss closing your tags while using it over (X)HTML, since it does it for you. All in all, it's worth the extra 20 minutes it'll take a designer to learn.
Robert Rouse
Indeed, I've used HTML -> XHTML -> CSS for over 10 years, and HAML made me finally fall in love with my job 8) Even so, I teach use of ERB and HTML and add HAML for students to choose as they feel more comfortable.
Reuben Mallaby
I love HAML too..
Lichtamberg
+14  A: 

Authlogic - Easy Authentication

Robert Rouse
+1 for Authlogic .Please provide the link to the Resource , so that i would be helpful for users ,Thanks
YetAnotherCoder
+2  A: 

grosser-rpx_now - Interface into RPXNow.com, which provides an interface into OpenID, Facebook, MySpace, Twitter, and much more in terms of authentication. A great companion for Authlogic.

Robert Rouse
+6  A: 

Nokogiri - for all your XML and HTML parsing and searching needs.

Greg Campbell
+5  A: 

Capistrano - for easy deployment.

Mr. Matt
+1  A: 

Capistrano-ext - allows you to setup separate deploy recipes for staging / production / whatever other environment you have

Mr. Matt
+1  A: 

Backup-fu - in conjuction with capistrano, we always backup before a deploy to Amazon S3, and set cron jobs that periodically backup the database and asset directories.

Mr. Matt
+3  A: 

Seed-Fu - Easy database seeding gem. Please don't use migrations to seed your database! :)

Robert Rouse
We use a combination of populator and faker for this. Need to take a closer look at Seed-Fu.
Mr. Matt
+4  A: 

Faker - for creating valid, fake data. Great for populating an empty dev DB / testing.

Mr. Matt
+4  A: 

Populator - for pushing data into the DB when populating it. Used in conjunction with Faker. More info here.

Mr. Matt
+2  A: 

Mofo gem - A ruby microformat parser , Helps to import Profile data from networking sites which implements microformats using hResume,hCard . ex LinkedIn , Xing ,Twitter etc .

Very useful gem .

YetAnotherCoder
+2  A: 

soap4r: A must have for making soap calls!

Source: http://rubyforge.org/projects/soap4r/

Swanand
Please provide the link to the Resource , so that it would be helpful for users ,Thanks
YetAnotherCoder
+4  A: 

Thinking Sphinx - for integrating with Sphinx for dead-simple text-searching in your app.

Mr. Matt
+2  A: 

Validation Reflection - when used with formtastic, it frees you from having to specify which fields of a form are required, as it infers it from your model validations.

Mr. Matt
+1  A: 

Nested Layouts - Great when you have sections of your site that sit inside their own wrappers. My account (in many apps) has a series of controllers that may have a common navigation header. Nested layouts allows you to use a my_account layout that sits inside your application layout, preventing the need for duplicate layout code or spurious navigation partials.

Mr. Matt
This was broken as of Rails 2.2 but I fixed it in my fork of it: http://github.com/radar/by_star
Ryan Bigg
+1  A: 

Contacts is a universal interface to grab contact list information from various providers including Hotmail, Gmail and Yahoo.

YetAnotherCoder
+1  A: 

I really enjoy harsh for syntax highlighting. It gives you access to all of the TextMate themes also, which I love.

William
+4  A: 

Clearance for authentication.

hgimenez
Clearance needs more love.
jonnii
Are you sure it's really good? I mean compared to other auth gems?
jpartogi
+1  A: 

More, the rails plugin for Less, the CSS extension. I prefer Less to Haml; there's no learning curve for Less.

August Lilleaas
+2  A: 

jRails is a drop-in jQuery replacement for the Rails Prototype/script.aculo.us helpers.

YetAnotherCoder
+2  A: 

Delayed Job for background processing.

shinzui
+1  A: 

state_machine: adds support for creating state machines with a lot of very useful features. It has great ActiveRecord integration and even supports automatic named scope for states.

shinzui
+1  A: 

tracked_plugins keeps track of plugin install information/updates/local-modification for all plugins you install

grosser
+1  A: 

Oddly self-serving but I find these helpful:

by_star - Helpful for finding records based on time ranges.
lookup - Ever wanted to look up a Rails method in the API from the command line? Use lookup has_many to be taken to that method in the API. Also supports fuzzy matching.

Ryan Bigg
+1  A: 

youtube-g is a pure Ruby client for the YouTube GData API. It provides an easy way to access the latest YouTube video search results from your own programs

Big Bang Theory
+1  A: 

cancan - for roles, companion of authlogic

ohho
+2  A: 

calendar_date_select - calendar pop-up

ohho
+2  A: 

prawn - PDF generation

ohho
+1  A: 

thin, a faster http server

ohho
+1  A: 

smerf - dynamic forms for surveys and questionnaires

ohho
+2  A: 

devise - a more comprehensive authentication gem

ohho
+1  A: 

FactoryGirl as a replacement for fixtures - nice because you can specify fields for a factoried model object in the test.

Judson
+1  A: 

Savage Beast 2 Based on the very popular Rails message forum, Beast, this is a Rails forum that implements multiple topics, posts, moderators, RSS feeds, localization, and most all the niceties you've gotten to know on the Beast forums.

YetAnotherCoder
+2  A: 

FactoryGirl : Fixture replacement for focused and readable tests.

Akshay
+3  A: 

Annotate - simple gem which adds something like

#== Schema Information
#
#Table name: buttons
#id           :integer(4)      not null, primary key
#text         :string(255)
#font_size    :integer(4)
#user_id      :integer(4)
#created_at   :datetime
#updated_at   :datetime
#button_stats :integer(4)      default(0), not null

to your model definitions and fixtures

Bohdan Pohorilets
A: 

ruote - Work flow Engine in Rails

YetAnotherCoder