aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/try.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2009-03-21 04:33:15 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2009-03-21 04:39:54 -0700
commitbca510cec23aff4c147f2ab5c30de930f120d84b (patch)
treeb68b8adddf5ede72fb4dd8730af1102ce4f9d099 /activesupport/lib/active_support/core_ext/try.rb
parentbaf73e19a6f05fcb46c06d759b08f3cbe22ed1c9 (diff)
downloadrails-bca510cec23aff4c147f2ab5c30de930f120d84b.tar.gz
rails-bca510cec23aff4c147f2ab5c30de930f120d84b.tar.bz2
rails-bca510cec23aff4c147f2ab5c30de930f120d84b.zip
try is an object extension
Diffstat (limited to 'activesupport/lib/active_support/core_ext/try.rb')
-rw-r--r--activesupport/lib/active_support/core_ext/try.rb36
1 files changed, 0 insertions, 36 deletions
diff --git a/activesupport/lib/active_support/core_ext/try.rb b/activesupport/lib/active_support/core_ext/try.rb
deleted file mode 100644
index 3de198d198..0000000000
--- a/activesupport/lib/active_support/core_ext/try.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-class Object
- # Invokes the method identified by the symbol +method+, passing it any arguments
- # and/or the block specified, just like the regular Ruby <tt>Object#send</tt> does.
- #
- # *Unlike* that method however, a +NoMethodError+ exception will *not* be raised
- # and +nil+ will be returned instead, if the receiving object is a +nil+ object or NilClass.
- #
- # ==== Examples
- #
- # Without try
- # @person && @person.name
- # or
- # @person ? @person.name : nil
- #
- # With try
- # @person.try(:name)
- #
- # +try+ also accepts arguments and/or a block, for the method it is trying
- # Person.try(:find, 1)
- # @people.try(:collect) {|p| p.name}
- #--
- # This method definition below is for rdoc purposes only. The alias_method call
- # below overrides it as an optimization since +try+ behaves like +Object#send+,
- # unless called on +NilClass+.
- def try(method, *args, &block)
- send(method, *args, &block)
- end
- remove_method :try
- alias_method :try, :__send__
-end
-
-class NilClass
- def try(*args)
- nil
- end
-end