How self Keyword Works in Ruby Ruby's self keyword can be pretty confusing to understand, especially if you're new to Ruby. Not understanding it often leads to subtle programming bugs that can be difficult to debug. This post explains how it works under common, everyday situations.
Setting Up Development Environment for Rails This is the second article in the series on building awesome web applications with Ruby on Rails. It shows how to set up a kick-ass development environment for building Rails apps.
Define Custom Routes Using the Member and Collection Blocks in Rails Let's say you want to add non-resourceful custom routes on your controller. Most often, you're better off by introducing a new resourceful controller. However, in those cases where you absolutely have to, you can define new routes using the member and collection blocks provided by the Rails router.
How &:method Shortcut Works in Ruby This post shows you how Ruby's `&:method` shortcut works behind the scenes. It's a clever trick that was added first in ActiveSupport and became an official feature in Ruby 1.8.7.
Building Web Applications with Ruby on Rails This is the first article in the series on building awesome web applications with Ruby on Rails. It explores why you should build for the web and use a web framework, especially Rails.
Understanding Blocks and the Difference in Proc and Lambda Update: I've since revised, polished and published a much more in-depth post on this topic, check it out here: Blocks, Procs, and Lambdas:
Compare Strings Using Inquiry Similar to the ArrayInquirer class, which tests if an array contains a value, the ActiveSupport::StringInquirer class provides a nice way to compare two strings.
How to Compress a String in Ruby (and Rails) You can compress large strings using the Zlib module provided by Ruby's standard library.
Configure Classes Using the Configurable Concern in Rails Sometimes, you need a config-like property on a class, such as a logger. Rails provides the Configurable concern that lets you accomplish this. It provides
How to Access Variables Outside Scopes in Ruby In C# and Java, variables from the outer scope are visible to the inner scope. In Ruby, scopes are sharply separated, and nested visibility is
Ruby is a Meritocracy I recently read Russ Olsen's book Design Patterns in Ruby. In it, the author makes a wonderful distinction between statically vs. dynamically typed languages, which is different from all other comparisons I've seen.
How to Benchmark Rails Views This post explores the Benchmarkable module provided by Active Support to measure the execution time for rendering Rails views.