<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -73,6 +73,7 @@ class Object
   end
 
   # Tries to send the method only if object responds to it. Return +nil+ otherwise.
+  # It will also forward any arguments and/or block like Object#send does.
   # 
   # ==== Example :
   # 
@@ -81,7 +82,11 @@ class Object
   # 
   # With try
   # @person.try(:name)
-  def try(method)
-    send(method) if respond_to?(method, true)
+  #
+  # # try also accepts arguments/blocks for the method it is trying
+  # Person.try(:find, 1)
+  # @people.try(:map) {|p| p.name}
+  def try(method, *args, &amp;block)
+    send(method, *args, &amp;block) if respond_to?(method, true)
   end
 end</diff>
      <filename>activesupport/lib/active_support/core_ext/object/misc.rb</filename>
    </modified>
    <modified>
      <diff>@@ -271,4 +271,11 @@ class ObjectTryTest &lt; Test::Unit::TestCase
     assert_equal 5, @string.try(:size)
   end
 
+  def test_argument_forwarding
+    assert_equal 'Hey', @string.try(:sub, 'llo', 'y')
+  end
+
+  def test_block_forwarding
+    assert_equal 'Hey', @string.try(:sub, 'llo') { |match| 'y' }
+  end
 end</diff>
      <filename>activesupport/test/core_ext/object_and_class_ext_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fffb1da3f22852c722dbc4436ec7c924435d29a5</id>
    </parent>
  </parents>
  <author>
    <name>Eloy Duran</name>
    <login>alloy</login>
    <email>eloy.de.enige@gmail.com</email>
  </author>
  <url>http://github.com/rails/rails/commit/823b623fe2de8846c37aa13250010809ac940b57</url>
  <id>823b623fe2de8846c37aa13250010809ac940b57</id>
  <committed-date>2008-11-24T09:53:48-08:00</committed-date>
  <authored-date>2008-11-21T00:47:55-08:00</authored-date>
  <message>Allow optional arguments and/or block for Object#try like Object#send does. [#1425 state:resolved]

Original suggestion by Pat Nakajima.

Signed-off-by: Pratik Naik &lt;pratiknaik@gmail.com&gt;</message>
  <tree>7bf0e7e557bdedb57226cd35fef12f7e9fbbea4b</tree>
  <committer>
    <name>Pratik Naik</name>
    <login>lifo</login>
    <email>pratiknaik@gmail.com</email>
  </committer>
</commit>
