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.
Rubydeps: A tool to create class dependency graphs from test suites
It works by running your test suite to record the call graph of your project and uses it to create a directed graph showing the class dependencies. Check it out!
Podcast Interview: Tung Nguyen, Bleacher Report
Listen to Tung Nguyen’s podcast interview about Bleacher Report’s explosive growth, the performance monitoring/optimization tools they use, and their plans to upgrade to Rails 3.
Examining Dwemthy's Array composite pattern
Here is a blog post about Dwemthy’s Array interesting way of implementing the composite design pattern Examining Dwemthy’s Array composite pattern.
Ruby (love) .Net: literate programming - rocco and C#
I’ve jused pushed support for C# in rocco, here is how it looks like.
Is It Rubinius? (Which Gems Work on Rubinius?)
I recently launched Is It Rubinius?. 100% written and deployed on Rubinius. If you’ve written a gem, or are considering using Rubinius for your next project, try it out on Rubinius and report your findings on Is It Rubinius.
Google Protocol Buffers in Ruby (interview)
Pat Eyler from On Ruby interviewed me about my involvement and knowledge with Google’s Protocol Buffers (protobuf) in Ruby. Topics include protobuf (of course) as well as background queues and general service oriented architecture in Ruby.
Pow! A Zero-Config Rack Server for OS X
From 37signals comes an interesting new Ruby project: POW!! It’s a “zero-config Rack server for Mac OS X” by Sam Stephenson and it allows you to “knock out Rails & Rack apps like a superhero.” Pretty bodacious stuff and people have been raving about it over Twitter and Hacker News all day.
Investigating configuration blocks
I looked at the Capybara source code to discover how it implemented its configure block syntax. Some excellent other techniques are presented in the comments.
How to Use RVM (8 minutes)
We’ve just released the How to Use RVM screencast. RVM stands for Ruby Version Manager which allows you to quickly install and switch between Ruby implementations. It also has a great feature where you can specify which version of Ruby you want for a particular project with isolated gemset. All this is auto-switched when you cd into the project directory. Check it out!
Tanker: Integrate IndexTank with your favorite Ruby ORM
Finally a community supported and officially recognized Gem to integrate Indextank to your favorite ORM. Pull requests and ruby community related awesomeness is expected to happen. Read the post here. Get the code here.
Using Goliath to Integrate With External Services
Have an existing set of web services built on a synchronous stack? Do you want to start to get some of the benefits of using an asynchronous stack? Getting a legacy app to run using something like rack fiber pool may require a lot of work. In this post I outline a technique that allows you to integrate an async stack like goliath with your synchronous rails stack.
Life beyond HTTP 1.1: Google’s SPDY
If you are using Google’s Chrome broweer, and you are using Google web services today, chances are, you are not running over HTTP! More likely, you’re running over SPDY. A look under the hood of SPDY and a Ruby parser for SPDY.
Developing A Simple Guard Gem For JsTestDriver
Here’s a post that details the development of Guard-Jstd, a gem that provides autotest functionality for JavaScript development with JsTestDriver.
Any MacRuby Apps in the App Store? Yes.
While MacRuby isn’t available as a public framework on Snow Leopard, there’s nothing that prevents you from embedding the framework in your application and publishing it in the Mac App Store. Three examples of MacRuby apps available on the App Store.
Ruby Hero Award Nominations
Do you know anyone in the Ruby community who deserves a little extra recognition? Now is the time to nominate them for the Ruby Hero Awards so they can win one of the six given away at Railsconf next month. You can also see the last eighteen winners from previous years here.
Setting up private streaming with Cloudfront and Ruby on Rails
I had to setup private streaming using Amazon’s Cloudfront for a project recently. I thought it would be pretty straightforward but it took me a bit longer than expected. I hope this blog post gives you a kickstart with Cloudfront and Rails.
Sinatra gone async with em-fiber_pool and em_mysql2.
Meet em-shorty, a modern URL shortener. This Sinatra app is completely async by using rack-fiber_pool and em_mysql2. If you have been curious about how async Sinatra works, this is a good sample to get you started. It’s even setup with sinatra-activerecord so you have standard migrations and several database connectors to choose from. [more inside]
Screencast: James Edward Gray II and David Brady on Associative Arrays
James Edward Gray II took me to school over my screencast on Ruby hashes, and we recorded a pairing screencast on Associative Arrays. Along the way we talk about hashes in Ruby 1.9, regular expressions, and get in a little mutual ranting about testing dogma and squashing creativity in the open source community. Check it out and let us know what you think!
Video Podcall: The Single Responsibility Principle
Pat Maddox and I just recorded a video podcall on The Single Responsibility Principle. Come check it out and tell us what you think!
ResqueMailer: Put email rendering and sending to background
Sending emails right from request-response cycle considered harmfull: Resque Mailer says: Put your emails to background
Payment Processing with Braintree Payment Solutions and Transparent Redirect
A quick overview of Braintree’s Transparent Redirect and how to write cucumber tests around it.
Rails 3.0.6 Released: Is Fixing Ur Securitys
Aaron “tenderlove” Patterson has unveiled Rails 3.0.6, a release focused around bug fixes and a significant security fix on auto_link. Other joy includes “Un-deprecating the reorder method in ActiveRecord” and “Fixing schema support for the mysql adapter”.
ResqueCleaner 0.2.0 released.
I have just released ResqueCleaner 0.2.0. This version has extended resque-web. You can see stats of your failed jobs grouped by class and time. It also comes with a screen to filter failed jobs which supports bulk retry/clear the jobs. If you are not satisfied with the default Failed tab on resque-web, check out the screenshots on github.
Just released v 0.0.4 of em_mysql2_connection_pool
Just released v 0.0.4 of the em_mysql2_connection_pool gem. Added #query_backlog so users can keep track of the queue.
It needn't be version hell with rvm!!
Learning to use rvm is easy and worth it, but can be tiresome to type the stuff all the time to switch from one version and remembering which version an app uses.. The use of aliasing and bash scripts makes it much easier