Ever wondered about the difference between def and define_method? Turns out there are three implicit contexts in Ruby. def...
The way Rational#to_s works on Ruby has changed from Ruby 1.9 on. Here is how to get the...
In Ruby, the meaning of protected and private is different from other languages like Java. (They don't hide methods...
Dead simple: Get the method object and ask for its owner: "foo".method(:upcase) => # "foo".method(:upcase).owner => String
For example if you use rvm and get this message: ERROR: Loading command: install (LoadError) no such file to load...
Consider this class: class Foo private def test puts "Hello" end end While you can say create a block to...
Ruby 1.8 (supplied by Rails' ActiveSupport) >> BigDecimal.new("0.1").floor.class => BigDecimal Ruby 1.9 (supplied by Ruby 1.9 itself) >> BigDecimal.new("0.1").floor.class...
When you use heredoc, string interpolation is enabled by default: x = "Universe" <<-MESSAGE Hello #{x} MESSAGE # => "Hello Universe"
Given you use Capistrano together with bundler to automatically install your gems when deploying. I recently had the problem that...
In Ruby 1.9, instance_eval calls the block the with receiver as the first argument: In Ruby 1.8, receiver.instance_eval...
MongoMapper is a MongoDB adapter for Ruby. We've forked it so it works for Rails 2.3.x applications running...
Ruby 1.9 changed the default behavior of Module.const_defined? from what it was in Ruby 1.8 – this can be especially...
This error can happen in Ruby 1.9. To fix it, add the following line to the top of your .js.erb...
Rails 2.3.16+ on Ruby 1.9 causes warnings like this: .../gems/activesupport-2.3.17/lib/active_support/core_ext/string/output_safety.rb:22: warning: regexp match /.../n against to UTF-8 string...
So you have a method returning a regular expression but one case that should not yield a matching Regexp object...
Stringex is a gem that offers some extensions to Ruby's String class. Ruby 1.9 compatible, and knows its way...
UnicodeUtils implements Unicode algorithms for case conversion, normalization, text segmentation and more in pure Ruby code.
RVM needs to be updated regularly to know of Ruby versions released since installation (or last update).
In our continued quest to extract proven code snippets from makandropedia into tested and upgradable gems, we have released Edge...
TLDR: Ruby class variables (@@foo) are dangerous in many ways. You should avoid them at all cost. See bottom of...
This works well in the simplified case, when your link disappears after it was clicked. Let link_to_remote behave...
Ruby has two different ways to match the start and the end of a text: ^ (Start of line) and $ (End...
January has been a very bad month for Ruby on Rails developers, with two high-severity security bugs permitting remote...
Calling bundle update GEMNAME will update a lot more gems than you think. E.g. when you do this...