Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Alias Object#send to send! for Ruby 1.9 forward compatibility.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7658 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit b01a7c69fc8554c2e696609ea8ab76875d405165 1 parent 8886036
@jeremy jeremy authored
View
2  activesupport/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Alias Object#send to send! for Ruby 1.9 forward compatibility. [Jeremy Kemper]
+
* Backport Object#instance_variable_defined? for Ruby < 1.8.6. [Jeremy Kemper]
* BufferedLogger#add doesn't modify the message argument. #9702 [eigentone]
View
5 activesupport/lib/active_support/core_ext/object/misc.rb
@@ -1,4 +1,9 @@
class Object
+ unless respond_to?(:send!)
+ # Anticipating Ruby 1.9 neutering send
+ alias send! send
+ end
+
# A Ruby-ized realization of the K combinator, courtesy of Mikael Brockman.
#
# def foo
View
5 activesupport/test/core_ext/object_and_class_ext_test.rb
@@ -108,6 +108,11 @@ def test_subclasses_of_doesnt_find_anonymous_classes
end
class ObjectTests < Test::Unit::TestCase
+ def test_send_bang_aliases_send_before_19
+ assert_respond_to 'a', :send!
+ assert_equal 1, 'a'.send!(:size)
+ end
+
def test_suppress_re_raises
assert_raises(LoadError) { suppress(ArgumentError) {raise LoadError} }
end
Please sign in to comment.
Something went wrong with that request. Please try again.