From 04bf3a174ed6a02b803ec91a6bd2be8f44137fd2 Mon Sep 17 00:00:00 2001 From: Sean Linsley Date: Wed, 4 Nov 2015 13:27:48 -0600 Subject: document `try!` in ActiveSupport core ext guide https://twitter.com/avdi/status/660141673993777156 --- guides/source/active_support_core_extensions.md | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'guides/source') diff --git a/guides/source/active_support_core_extensions.md b/guides/source/active_support_core_extensions.md index 556b5ede3c..f6fc255c24 100644 --- a/guides/source/active_support_core_extensions.md +++ b/guides/source/active_support_core_extensions.md @@ -248,6 +248,13 @@ end @person.try { |p| "#{p.first_name} #{p.last_name}" } ``` +Note that `try` will swallow no-method errors, returning nil instead. If you want to protect against typos, use `try!` instead: + +```ruby +@number.try(:nest) # => nil +@number.try!(:nest) # NoMethodError: undefined method `nest' for 1:Fixnum +``` + NOTE: Defined in `active_support/core_ext/object/try.rb`. ### `class_eval(*args, &block)` -- cgit v1.2.3