When using threads, you must make your code thread-safe. This can be done by either locking (mutexes) all data...
Today I learned that Ruby on Rails has shipped with a built-in slug generator since Rails 2.2:
Nested exceptions for Ruby: When you rescue an error and then re-raise your own, you don't have to...
Web applications can be used by multiple users at the same time. A typical application server like Passenger has multiple...
If you need to log to a file you can use Ruby's Logger class: require 'logger'
This is useful to kill processes like ruby my-script.rb: pkill -f my-script.rb With great power comes great responsibility.
If you're on Ruby 2.3+ there's a <<~ operator to automatically unindent HEREDOCs: str = <<~MESSAGE Hello Universe!
If you want to sort values from an enumerable into two arrays based on whether they match a certain criteria...
The linked article explains how to get a database-wide lock without creating table rows: This article explains how I...
Postgres 9.4 introduces a new column type: jsonb. json and jsonb columns store data differently, so just compare the two...
Enumerable#count can do three things. With no argument provided, it returns the number of items. With an argument, it...
Array#flatten by default flattens an array recursively. To only flatten the array for e.g. one level, it takes an...
The Javascript in operator does what Hash#has_key? does in Ruby: Return whether an object has a property.
To find a hash key by it's value, i.e. reverse lookup, one can use Hash#key. It's available...
With ActiveSupport you can say: class Robot def self.likes_humans? 'Nope.' end delegate :likes_humans?, to: :class end Robot.likes_humans...
Jonas Nicklas, the author of Carrierwave and Capybara, has released Refile, a gem for handling file uploads in Rails. It...
Databound provides Javascript a simple API to the Ruby on Rails CRUD. Tries to expose a full model CRUD as...
Rails guide that covers PostgreSQL-specific column types and usages for Active Record. You should especially keep in mind the...
Chances are you're seeing the warning repeated a lot of times, maybe thousands of times. Here's how to...
If you want a class-like construct in JavaScript, you can use the module pattern below. The module pattern gives...
Traveling Ruby is a project which supplies self-contained, "portable" Ruby binaries: Ruby binaries that can run on any Linux...
Upgrading from Ruby 1.8.7 to 2.1.2 took me an hour for a medium-sized application. It involved hardly any changes...
For our production servers we use Passenger as a Ruby application server. While it is possible to use Passenger for...
Using this gem I could get JSON generation from a large, nested Ruby hash down from 200ms to 2ms.