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.
Rails Misapprehensions: Helpers are shit.
The current helper implementation in Rails is not good. This post explains why and how to get out of this misery using draper, cells and some different approach.
RDocodile is Dead
As of this morning, RDocodile is no more. The Ruby community showed the barest of interest in the work. Less than seven individuals took watch of the projects on GitHub. I suspect the lack of interest stems primarily from the rise of RDoc’s main competitor, YARD. I had hoped RDocodile would give some invigoration to RDoc, but the maintainer of RDoc itself gave cold reception to the whole endeavor. So I have decided to end development completely. It might seem rather unfortunate, such a large amount of good work going up in smoke, but I’m not bothered by it. Failures compose the soils of success. Instead of looking back, I look forward. And I see even better documentation pastures on the horizon.
OOP, DCI And Ruby - What Your System Is Vs. What Your System Does
Read more about why you might care about DCI (Data, Context, and Interaction — a new approach to object oriented code) in my latest post on the subject. OOP, DCI And Ruby - What Your System Is Vs. What Your System Does discusses separation of objects from the actions they perform.
Do you know Ruby Doctest?
Victor Goff’s guest blog post on RubyLearning - Do you know Ruby Doctest? explains how to document our programs using IRB sessions, resulting in a way to provide usage examples as well as knowing when an expected use fails because of some update or changes to our program or environment.
google_plus search
the google_plus rubygem has been updated to include the new search and comments API endpoints.
Optimizing HTTP: Keep-alive and Pipelining (in Ruby)
Do use reuse HTTP connections in your code? Does your app server support pipelining? You can speed up your code and your apps by orders of magnitude if you answer those questions correctly. A look at the HTTP internals, and Ruby libraries and solutions.
Simple forms for Twitter Bootstrap in Rails
Twitter Bootstrap is awesome, but as always, but writing forms that adhere to its markup expectations can be a pain. Especially when you want to incorporate inline error messages. [more inside]
rake version:bump:patch without jeweler
A nice timesaver from jeweler days rake version:bump:* Now as standalone drop-in for your Rakefile.
How to generate "Share with Facebook" links, with summary, title and images but without OG data
Just wanted to share my helper, that proven to be useful, to share with Facebook when your don’t have the relevant OG data. See this post.
About Ruby/Python concurrency and the GIL
As a follow up to my RailsConf talk, I wrote a blog post talking about Ruby/Python concurrency and the Global Interpreter Lock explaining what is a GIL, why it is used, why some other implementations don’t use one/removed it and finally why C Ruby won’t be removing it soon.
Computer Vision: How to Detect the Corners of a Chequerboard
I made a 30 minutes screencast on how to detect the corners of a chequerboard (detecting the corners of a chequerboard is a prerequisite for camera calibration). The software is implemented using the Gems hornetseye-ffmpeg and hornetseye-xorg (see documentation of HornetsEye libraries) and of course Ruby.
Padrino Framework: Released 0.10.3 (Sinatra 1.3 support and much more)
This month has been a great time for the Sinatra community at large. Sinatra 1.3 has been released with a lot of exciting changes! Naturally, Padrino needs to be taking full advantage of the new Sinatra core. Today, we have released Padrino 0.10.3 with full Sinatra 1.3 support, streaming support, and several major improvements of our own including conversion to a YARD api, major doc improvements, minitest, improved logger and several important bug fixes. Check out our blog post for more detail.
Introducing QA Robusta - A System Test Automation Framework
To all automated test case developers, I’d like to share a recent OSS project, QA Robusta. If you are a fan of Ruby you may want to check this project out. It leverages great aspects that the Selenium community provides(selenium-webdriver) and uses the watir-webdriver as a top layer. I’ve only executed this under Linux but it is intended to run under all OSs. If you have moderate experience with Ruby it shouldn’t take but a few minutes to run the demo test case and get familiar with the framework. If you have any question contact me directly or I’ll setup a separate group for discussion. [more inside]
Bldr - Minimalist JSON templating DSL
These are my slides from the lightning talk I gave at Rubyconf 2011. Link
This week is MRI Documentation Week
Several months ago, Eric Hodel issued a challenge encouraging folks to contribute to Ruby’s documentation to make 1.9.3 the most documented version of Ruby ever. That challenge was met, but then contributions died down after that. This week, Mendicant University is making contributing to Ruby’s documentation easier than ever by providing open office hours via IRC and also helping you find areas of Ruby that need documentation the most. We’ll tell you what needs patching, help you form a patch, and make sure it gets merged upstream. No matter whether you’re an OSS newbie or a Ruby expert, you’re welcome to join us!
Adding multi-tenancy to your Rails app: acts_as_tenant
Our latest blog post introduces acts_as_tenant, a gem that allows you to add multi-tenancy to your Rails application in an easy and out-of-your-way manner. Enjoy!
Rails Callbacks and Background Jobs
Be aware of database transactions when using callbacks to enqueue background jobs.
Do you know how to write an internal DSL in Ruby?
Almost all Ruby programming newbies would love to get their hands wet writing a Ruby DSL. The article “Do you know how to write an internal DSL in Ruby?” explains how you can write a simple Ruby DSL.
Sinatra: New feature release, Contrib and Recipes
We’re proud to announce two new releases today: 1.3.0 and 1.2.7. We’re also simultaneously releasing sinatra-contrib and would like to officially announce the recently launched Sinatra Recipes project. Read on for more goodness!
Send Email Notifications in Rails Development
I write an article about Send Email Notifications in Rails Development to show number of different options to handle sending email in Rails development environment.
Replace delayed job with resque
Step by step guide to replace delayed job with resque server.
vitals - a Rails 3 plugin exposing internal events to statsd
Vitals is a very simple rails 3 plugin which exposes ActiveSupport Notifications back to statsd.
AdhearsionConf 2011 Next Weekend in San Francisco
Adhearsion Conf 2011 is taking place in San Francisco next weekend (October 8th & 9th, 2011). Sponsors this year include Tropo, BlueVia / Telefonica, Mojolingo, Digum and ifByPhone. Be sure to sign-up and participate in what is shaping up to be a great event for what is happening in Ruby, telephony and next gen communications.
Hint #3 - Handle Ruby versions (Emacsrookie.com)
This time emacsrookie.com have an article about handle Ruby versions.