The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Correct Format Plugin
The Correct Format plugin allows you to automatically correct user input, making it uppercase, lowercase, or lowercase and capitalized. Quick, simple, easy to use, fully tested. Full examples included also.
Parkaby - a superfast Markaby clone
I’ve finally pushed out Parkaby, the superfast Markaby clone, together with Camping, Rails and Sinatra hooks. Have a look at the README and feel free to ask any questions here or over at my blog.
state, workflow
Granted, you can do workflow with state machines, but there’s still work to do in order to have a “workflow engine”. There are also alternatives. The post “state machine != workflow engine” answers some questions and open up some more. At least, a set of links to Ruby state machine implementations concludes the post.
Heroku Suspenders
Heroku Suspenders creates a Rails 2.3.2 app with Heroku-recommended code: * Paperclip for file uploads, set for Amazon S3, * Gmail SMTP for email, * Delayed Job for background processing, * Hoptoad Notifier for exception notification, * Google Analytics for usage analytics … and some other opinions, including jQuery, testing frameworks, authentication, etc. Get the latest & greatest at anytime with: git pull heroku_suspenders master
JRuby Code Quality
JRubyist</a> Dan Tylenda-Emmons covers the art and science of code metrics when evaluating your software. The main focus of the article is the pragmatic approach of using flog, flay and roodi to keep your code DRY, understandable and testable.
Elements of Testing Style
Some thoughts on good testing style on the Agile Ajax blog from the author of Rails Test Prescriptions.
A separate RSS feed for rubyflow with ALL items.
Can you make a feed with all the rubyflow items in it? Since my feed reader misses 70% of rubyflow I still have to visit rubyflow manually, rendering the feed useless for me. Ed: Yes, try this.
8 tips for making web apis
Getting your API right. Most of this is super easy in Merb/Rails :D
Rumblestiltskin
Rumblestiltskin: Submit ideas for the 2009 Rails Rumble and try to win the championship belt sponsored by thoughtbot. Vote for good ideas. Find teammates.
Named Scope in 60 Seconds
Understand Named Scope in 60 seconds by example with this very brief overview at Mendable.com.
Giving Design Patterns a Second Chance: Ruby Edition
Giving Design Patterns a Second Chance: Ruby Edition. Learning to program in Ruby is easy, but learning to program the “Ruby Way” is a much greater challenge. Reading Design Patterns in Ruby has certainly helped solidify my understanding of Ruby’s idioms and is a great book for programmers who would like to take their Ruby skills to the next level.
Rails Testing Practices Interview with Mike Gunderloy
The Rails Testing Practices Interviews are back, brought to you by Rails Prescriptions. This time, it’s Mike Gunderloy, author of the new Rails Rescue Handbook. Read the interview. You can buy Rails Rescue Handbook or Rails Test Prescriptions. Read past interviews in the series.
NEW Sitemap Generator Plugin - that actually works the way you would expect
SitemapGenerator enables Google Sitemaps to be easily generated for a Rails site as a rake task, using a simple ‘Rails Routes’-like DSL. Sounds pretty familiar right? (well except for the Routes-like DSL) But it’s not… it actually works the way you would expect. Plus it allows you to take care of familiar issues like: gzip of Sitemap files, variable priority of links, paging/sorting links (e.g. my_list?page=3), SSL host links (e.g. https:), Rails apps which are installed on a sub-path (e.g. example.com/blog_app/) and hidden ajax routes. As stated in the docs, it does have one shortcoming though - it only supports a maximum of 2.5 billion urls, after which you’re on your own.
OpenID / OAuth gems & screencasts
If you want to use OpenID for authentication or OAuth for authorization/authentication in your Ruby web applications, there are a number of different options out there. Here are a few screencasts demonstrating some of the Rack-based solutions for anyone interested in easily integrating OpenID and/or OAuth into their web applications: Rack::OpenID, Rack::OAuth, Rack::OpenID::Proxy (useful if you need a proxy OpenID consumer)… And links to the original projects: ruby-openid, oauth, Rack::OpenID, Rack::OAuth, Rack::OpenID::Proxy
Anemone Web Spider Framework
Anemone is a new fast and easy-to-use web spider framework for Ruby.
5 Ruby-related blogs for July
Last month, I posted my first set of five Ruby-related blogs for your delectation. Here’s five more for your RSS reader…
JRuby in the Enterprise
JRubyist Dan Tylenda-Emmons explains his use of JRuby in the enterprise with Rails, JBoss, DRb and EHCache.
6 Reasons to use Webbynode
There’s a newcomer on the block for VPS hosting called Webbynode. It’s nice to see more hosting options in the middle-ground between shared hosting on Dreamhost and managed hosting on Engine Yard. I put up a short video going over Six Reasons to use Webbynode. If you’re looking for a VPS, maybe check it out.
A dozen (or so) ways to start sub-processes in Ruby: Part 1
There are many ways to start sub-processes in Ruby and here we start looking at some of the options in depth.
An alternative to monkey patching
Yet another RBP Blog Article, this time offering a potential alternative to core extensions. Please check it out and share your thoughts.
An introduction to Rinda
Project Spotlight: Rinda. An overview of Rinda, the built-in Ruby implementation of Tuple Spaces.
Thinking Sphinx: Searching By Location And Keyword
A tutorial on using Thinking Sphinx for searches that weigh both search term relevancy and distance from an anchor point.
Yehuda Katz Shares 6 Steps to Refactoring Rails
Rails has been undergoing a lot of change lately, and there’s even more on the way; Learn more about how the Core Team is making it happen, and how you can refactor your code.