RubyFlow : The Ruby Community Blog

Home   Submit   Sign Up   Log In   leaders   Twitter   RSS Feed  
June 08, 2014
Just released rufus-scheduler 3.0.8. The scheduler will now fall on its paws during ambiguous DST transitions. Thanks to @junhanamaki for spotting the problem and helping resolve it.
We show you how to get up and running with the writefully gem ~ 13 Minute Video
I compiled a guide to debugging Rails. Included are techniques such as referring to the C debugger, using Gmail's search features to find information in archived exception reports, analysing Memcached usage stats, and setting up log based alerts.

The entire document is broken into sections and contains approximately 30 pages of original content. Hope you find it useful.
I just published DuckPond - a gem for getting around some of the shortcomings of duck typing in a weakly typed language such as ruby.
"swift-ruby" is designed to bring over some good features from Apple's new Swift language to Ruby:

I implemented only one thing, the ? Optional method operator..please jump in and submit some Pull Requests!


I just came from Apple's WWDC and watched their introduction of the new Apple Swift programming language.

From Chris Lattner, a Swift developer at Apple personal site: "Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list."

The ? Optional operator is equivalent to ActiveSupport's "try":

The active support version would look like this:

e =

The Swift-Ruby version:

e =

So, clone the repo:, see Apple's reference:, and submit some PR's.
Claws is a command line based AWS (Amazon Web Services) console that provides a direct interface to ssh into your hosts. Check out a screenshot example of how it works along with other information on github. This release is a simple bug fix that was introduced with the latest version of the Command Line Reporter gem.
June 07, 2014
GemWorld: Knod
A lighthearted story about how the gem Knod works. Check it Out.
June 06, 2014
In this episode we’ll look at pre-Rails 4.1 and post-Rails 4.1 ways of selecting different views based on the current request. These can be useful for returning mobile views for smart phones or other custom views.

* Subscription required.
I've created first part of my guide to creating links aggregation website in rails
June 05, 2014
I just released a tutorial to show you how to configure hourly database and file backups on your server.
Have you ever wondered how rails boots from rails server to a fully working webserver?

I wrote about it!
Some time ago, we decided that we needed to improve the tool that manages our team work in a better way. A a result - we created a "People App". Then we though - if it help us to manage our devs within projects - why not to share it with other? Introducing - People App - hope you'll find it useful guys.
Universal Ruby Gems in 20 Lines of Code
New article on Cross Platfrom Ruby Blog. It explains how to make your gems run universally in Ruby, RubyMotion and Opal.rb. It literally takes 20 lines of code.
June 04, 2014
The culture of testing is one of the best things about the Rails community. But if you’re coming from a place where you weren’t testing at all, TDD can be especially hard to learn. It’s clear that you can’t really go from zero to TDD in a single step. So, what do you do? How can you learn TDD without being overwhelmed?
We show you why and how you would use enum in your app Rails 4.1 Enum (~ 6 minutes)
Data listing gem for Rails
Easily create AJAX-enabled data lists
with out-of-the-box support for sorting, filtering and in-place editing. Check our gem SmartListing.
I am collecting feedback on the intro to a Ruby book I am working on...

My own history

I have been coding since I was thirteen, when my Father came home with old IBM clone that he traded for during the 80’s barter craze. Being nearly forty years old now, I have stubbed my toe and left it bleeding in more than a dozen languages now. If I were a construction worker instead of a knowledge worker, I would probably be missing fingers, toes, and possibly a hand or leg.

Continue reading
Docker seems like it's going to change the way we deploy Rails applications and an essential step in taking advantage of this is using it in both development and production. This Rails and Docker Tutorial covers setting up quick and repeatable development environments using Vagrant and Docker.
My post on Client side SSL Certificate Authentication with Rails and Nginx.
June 03, 2014
Ruby on Rails strives to simplify and streamline the web application development process. But while Rails is easy to use, it is also not hard to misuse. This article looks at 10 common Rails pitfalls, including how to avoid them and the problems that they cause.

Link: Top 10 mistakes Ruby on Rails programmers make
I’ve been seeing a lot of tweets from people saying that Swift has basically killed RubyMotion, which is extremely far from the truth, and I’m going to explain why quickly and without much fuss, because people seem to just be saying it without thinking.

Why Swift Will Never Replace RubyMotion
A Big Week For RubyMotion Developers
This past week has been insane for me, with the RubyMotion #inspect conference, and now the massive announcements from WWDC, there is a lot of new things for us RubyMotion developers. Not only do we have a new platform (Android) to work with soon (which for a lot of you may be the first time you’ve ever touched it), but Apple has dropped some amazing new APIs for us to use, and we haven’t even seen close to all of them yet.

A Big Week For RubyMotion Developers
June 02, 2014
This article describes how to refactor and improve readability of complex data processing with syntax similar to Haskell do-notation and State monad.
Rails Extentions
Split a monolithic app into small isolated apps and extending them with class extensions
June 01, 2014
TDDing a static website generator - part 1

@thatrubylove holds session sundays every sunday 12pm-2pm CST! Join us next time.
This is new gem for simplifying installation of Oracle Instant Client. Gem is here and explanations are here.
Hello, I've reconfigured the sportbook - an open source Ruby on Rails web app for match picks/predictions - for the World Cup 2014 in Brazil (11 days an counting!). The sportdb gem lets you load the plain text fixtures into your SQL database of choice; see the worldcup.db fixtures in plain text or served up via a web app or try the World Cup Brazil 2014 picks demo (login with demo/demo). Cheers.
May 31, 2014
Get more from ActiveRecord::Store
You like ActiveRecord::Store with it's serialised attributes but tired from converting attributes to a not string value?! Check out active_store_accessor which does all dirty work for you.

PS. default values are also supported.
Building an Ember App with Rails
Part 4
I have prepared some Ruby code to show how conditionals can breed like rabbits, and how to spay and neuter those bunnies before it get’s out of control.

Along with the code, there is a screencast or as I will call it, a RubyLovecast. In the video, I will walk you through several revisions of the code, first showing how conditionals grow, then how to take a weedwacker to them.

continue reading @ rubylove
In this episode we show you how to optimize the response for our mobile site Video on Youtube.
May 30, 2014
I wrote list of ruby news websites
We just wrote this blog post on Using ActiveRecord scopes with activeadmin.
May 29, 2014
Interviews with Ruby community leaders and contributors from RailsConf 2014 at Examples of interviews are Aaron Patterson aka @tenderlove, DHH, Yehuda Katz & Tom Dale, Evan Phoenix creator of Rubinius, Obie Fernandez author "The Rails Way", Carlos Antonio da Silva, and many more
Want to learn more about metaprogramming in Ruby?

Of course you do! We're going to look at how to build classes dynamically in Ruby.

Second in a series, perfect for anyone who wants to see some practical metaprogramming in action.
I just announced PostgresExt-Serializers which allows you to serialize your JSON responses in PostgreSQL instead of Rails
New post on Group Buddies blog: Random (and probably useless) Rubyisms
Cells now allows to package JS, CSS and more into a cell directory making it really simple to integrate assets into the asset pipeline. This allows a highly modular and encapsulated architecture which is briefly discussed here.
There’s an expression that to a person with only a hammer, every problem looks like a nail. Over time, familiarity makes most problems look like nails to which you simply apply your hammer.

Read the rest of the blog:
A gem for using your github repository as a content management system Writefully
May 28, 2014
I solved this often enough in apps to now release it as a gem.
How You Nest Modules Matters in Ruby
Ruby provides two different syntaxes to nest modules (and classes), and most Rubyists treat those syntaxes as interchangeable when they shouldn't. Find out why the syntaxes are not interchangeable.
I wrote a new post titled 7 Reasons Why I'm Sticking with Minitest and Fixtures in Rails. Hope you enjoy!
May 27, 2014
While you’re building software, there will be things that will frustrate you every time you have to write them. Bits of code that look ugly. Or those lines you can never quite remember how to write, so you find an example somewhere else in your codebase to copy and paste. These break your flow! So it’s important to recognize them, and make them more convenient.
Writing blogposts can be as important as contributing to an open source. Here's why as a developer you should share your knowledge and write a blogpost from time to time.
My Heroku add-on ExpeditedSSL was just accepted into General Availability. The add-on grinds the complexity and issues of getting SSL going on Heroku into the dirt.
SSL certificates can be intimidating but Heroku and DNSimple make the process easy. These steps should take us less than 15 minutes.
Have you met Feedlr? A Ruby interface to Feedly. First version is out!
May 26, 2014
I have to apologize for being away so long. I ended a relationship that had drug on for far too long and going nowhere, and at the same time I decided that I will no longer accept clients that refuse to place the proper amount of importance on quality and training.

read more here
Just released finite_machine which introduces new callback types on_before and on_after for listening to events and separating them from state changes. This means that the transition sequence and callback lifecycle have changed as well. I'm looking forward to your feedback!