RubyFlow : The Ruby Community Blog

Home   Submit   Sign Up   Log In   leaders   Twitter   RSS Feed  
March 19, 2014
Steel City Ruby CFP Opens
The CFP for Steel City Ruby 2014 is now open at and will be open until April 19th, 2014.
The fourth iteration of eurucamp will take place on 1 - 3 August 2014. Our Call for Proposals is open until the 1 May and we're launching a mentorship programme to help encourage new speakers to participate.
André Arko writes about the new Rubygems index format, which has been a long time coming.
Do you run an Open Source project? We would love to see you involved in Rails Girls Summer of Code! In order to propose a project for this year's Rails Girls Summer of Code please open an issue on this repository!
I just launched IsolatedService. IsolatedService lets you fake service calls. If you have a service that you can't reach or if you work in a SOA environment you may find this useful!
I've just released order_query, a gem that finds next / previous record(s) in one query, for ActiveRecord.

We use it for linking to the next search result from the show page, in a typical search -> show result scenario.
I wrote a new post on Ruby Gem Configuration Patterns. Hope you enjoy!
March 18, 2014
TheRole - Authorization Gem for Ruby on Rails with administrative interface.
version 2.4 released
In this release GUI (based on bootstrap3) moved to external gem.
A true story of Going From Java to Ruby on Rails.
You’ve just typed rails new on your next project. Now what? Where do you start? There are tons of decisions you have to make up front, and it’s easy to feel lost, and procrastinate, and get frustrated, and never finish your app.
I love being a developer but the job doesn't come without its risks.
I wrote a blog post on managing externals in your Ruby tests. It includes tips for managing time conditions, avoiding HTTP requests and testing an OAuth flow.
Prawn PDF Toolkit goes 1.0.
After six years of hard work, we've finally shipped Prawn 1.0.

Please use it, contribute to it, complain about it, and make it better.
March 17, 2014
There is a lot of apps out there that have both an iOS and OS X application, and a good amount of their code could be shared. Learn how to do exactly that with RubyMotion by reading my new blog post, Truly "Universal" RubyMotion Apps.
Inch Pages: The first three weeks
Three weeks have gone by since Inch Pages, kind of a Code Climate for your inline docs, has launched.

I just wrote a blog post about the state of affairs.
Why do you like Ruby?
While we work on client projects, personal projects and our site using Ruby it's often good to stop and remember why we love ruby so much. Here's why we do.
A five minute demo of lesser known Ruby features titled Nobody Knows Ruby, presented at Wroc_love.rb in Poland.
Grand Central Dispatch is one of the greatest (grandest even?) ways to do multithreaded applications in any language, which if you're doing any kind of processing or network communication, it's likely you will need to make your application use multiple threads too. In this episode we take a look at the main use cases for GCD and the simple code you need to write to run certain tasks in another thread by using queues and blocks.
compiler for Ruby on the JVM: free download at
March 16, 2014
Ruby hash selector help clean up your code Ruby Hash Selector Pattern Video / Article.
Hello, I've collected a couple of link_to helpers in the new linkto gem. Helpers include: google_search, google_search_images, bing_search, flickr_tags, flickr_search, wikipedia_search, and so on. See the linkto gem in action at the beer.db.admin site, for example, see the Ottakringer brewery page. Cheers.
I just launched gem rails-cache_control which can significantly speed up your page. This gem will automatically add HTTP Cache-control header when caches_action expires_in specified. You do not need write a single line but just included it in Gemfile.
I've seen a lot of people doing it and I used to do it too, use params.merge(…) in link_to or redirect_to calls. You do this because you want to change one ore more parameters (like the locale, current page or search query) but leave the rest as it is. But heads up, there is an issue with this solution!
March 15, 2014
Ping pong over code with DHH & say goodbye to vague architectural debates.
March 14, 2014
Polymorphism is one of the fundamental features of object oriented programming, but what exactly does it mean? At its core, in Ruby, it means being able to send the same message to different objects and get different results. Let's look at a few different ways to achieve this in Back to Basics: Polymorphism and Ruby.
Rubykiq - Sidekiq agnostic enqueuing using Redis.
I'm building a house and I write software for a living. So when someone showed me the article "Why We Should Build Software Like We Build Houses " I had to disagree...[continue reading]
I've been a busy bee
As well as Sinatra Cookbook, which I am still writing, I'm also building a platform for Freelancers and small agencies to better manage clients, Husk CRM.

To help potential clients I've built a project planner form, as I've got availability for more projects going into Q2 2014.

Then this morning, I blogged about SaaS and PaaS.

Like I said, busy busy bee.
I just launched arcserver.rb which allows to interact with ESRI ArcGIS Server Restful API.
7 daily use cases of Ruby Hash
In that blog post, I share 7 use cases of Ruby Hash I met often. I hope it will be useful to you.

How to convert a JSON into a Hash?
How to convert a Hash into a JSON?
How to set default value for a nested Hash?
How to merge two nested Hashes?
How to filter out some keys of a Hash?
How to “sort” a Hash by value?
How to find the differences between two Hashes?
I wrote a new post titled Why I Wrote the Sucker Punch Gem. Hope you enjoy!
Hello, Last nights slides from the vienna.rb talk titled "Open Football Data - Get Ready for the World Cup in Brazil 2014 w/ Ruby". Use left/right cursor keys (or space bar) to browse the slides. Or check the all-in-one-page markdown source. Cheers.
March 13, 2014
RuboCop 0.19 has been released! This is the biggest RuboCop release we've done in a while. The highlights include about a dozen new cops, more cop configuration options, improved auto-correct and so many bugfixes.

Here is the list of all the gory details. Enjoy!
This blog post describes a method that combines the advantages of automatic image fetching from existing online locations with the advantages of managing new images directly in the cloud using Cloudinary. This method allows lazy migration to the cloud as well as other powerful origin pulling options. Sample code included for Ruby on Rails.
Much is said about code reuse, when to reuse and how to reuse, but there's a strong movement about not depending on a gem if it's small or if you can write one that does the same yourself. Is it really an improvement to write one yourself?
New blog post "Deploying Padrino Applications On Heroku"

I was always asking myself how I can use cloud services like heroku to deploy Padrino applications without having an own server.

In this post I’m going to show you how you can a simple “Hello Padrino” app on heroku.ones without and ones with database interactions.
I wrote a blog post about the GC in Ruby 2.1, in which I explain how the new GC works, how to read the output of `GC.stat`, what all those env variables for GC tuning are and how to use them.
Memory used above quota will swap out to disk, which substantially degrades dyno performance.

If the memory size of your dyno keeps growing until it reaches five times its quota (for a 1X dyno, 512MB x 5 = 2.5GB), the dyno manager will restart your dyno with an R15 error.

You don't want "SUBSTANTIALLY DEGRADED PERFORMANCE" do you? Of course not.

Whacamole will help you monitor and restart your dynos yourself.
I've made a new gem called Mock5 that allows to easily create remote API mocks using Sinatra and plug/unplug them at will. Using it, you can test all kind of situations, like API being down or taking too long to respond, responding successfully or with authentication error.
March 12, 2014
We are using this for our crons since the unix timeout command does not support different kill signals

gem i multi_timeout
multi-timeout -INT 5m -KILL 6m rake foo:bar

One of the Ruby engineers at Originate posted a great article on how to get really fast rails tests by not loading all of rails. He also published the rails_spec_harness gem to make it easy to set up your spec helpers the way he describes in the article.
Since it's my first Angular / Rails app there's not much here for experts, but if you are considering doing one here are some things you might be able to put off until later but still get the job done.
Stunned by Sexism
I am a ruby engineer at heart. Those who know me usually see my posts about the ruby tools I have built on here. However today I am sharing a story about sexism that I think everyone should read. Let this be a reminder that as a Ruby community we need to be open and embrace everyone, including the companies we work for.
March 11, 2014
Three simple and useful advices that I gave to a friend that is new to Rails / Heroku.
RubyConf Taiwan, Taiwan’s biggest event for programming language Ruby will be held on the last weekend of April (April 25th and 26th) at National Yang-Ming University. According to Mu-Fan Teng(@ryudoawaru), organizer of this gathering, many important speakers and distinguished guests have been invited to the conference, known as the most internationalized grand event for programming language and its pursuers. Registration of this event will begin at 12:00 on March 10th.
The press release is here
I just launched activerecord-hierarchical_query which allows to create recursive queries to traverse trees with single SQL.
Next post in our Reflecting on RubyMotion Experiences series.
After spending so much time testing Rails with factories, I took a look at fixtures again and liked what I saw.
Awesome Vim Plugins
I've written this post on Awesome Vim Plugins.
March 10, 2014
Learn Chef - it's hard but worth it
Having troubles learning Chef? I hope this will keep you motivated