Issue #7773 has been updated by gaffneyc (Chris Gaffney).


I consider it a bug because the behavior only happens using `send`. If I were to call `bar=` directly (see below) it returns the value that was set.

class Foo
  attr_writer :bar
end

Foo.new.bar = "test" # => "test"

Should `send` behave differently than sending the message directly?
----------------------------------------
Bug #7773: Calling send("attribute=", value) returns nil instead of value
https://bugs.ruby-lang.org/issues/7773#change-35926

Author: gaffneyc (Chris Gaffney)
Status: Open
Priority: Normal
Assignee: 
Category: core
Target version: 2.0.0
ruby -v: 2.0.0-rc1


When calling an attribute writer created using either attr_accessor or attr_writer via send nil is returned from the send call instead of the new value.

I've attached a test case that is failing on current head (51794) and 2.0.0-rc1. I've done a git bisect and it looks like commit 37228 (db1e99cd) is the first offending commit.

I've been able to reproduce on OS X 10.8 and Ubuntu 12.04.


-- 
http://bugs.ruby-lang.org/