Search code examples
rubyruby-on-rails-3jrubyjrubyonrails

Getting access to Object#try


I am trying to obtain access to Object#try in ruby.

I thought that just including activesupport would do the trick, but it doesn't.

irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'active_support'
=> true
irb(main):003:0> o = Object.new
=> #<Object:0x15d45d9>
irb(main):004:0> o.respond_to? :try
=> false
irb(main):005:0> 

How do I get access to Object#try?


Solution

  • To get try all you need to do is require "active_support/core_ext/object/try". The source is here and because the NilClass is opened and try is defined to return nil, you get the chaining ability.