I’m going through an weird behavior with Kernel#send and I think it
might
be related to ActiveRecord (I’m using Rails 2.3.11).
I have a User model that has the following fields:
email: String
status: Integer
(among others)
If I do:
some_arg_that_might_come_in_a_local_var = true
method = ‘email’
@user.send(method,some_arg_that_might_come_in_a_local_var)
=> ‘[email protected]’
So, email doesn’t expect the additional var (it’s an AR accessor AFAIK,
so
it should not accept any args), but it doesn’t throw the ArgumentError
exception.
The some_arg_that_might_come_in_local_var is an argument that will be
passed to certain methods that DO accept a second boolean argument, but
it
happens that sometimes the method argument sent to send can be email or
status.
But if I do:
some_arg_that_might_come_in_a_local_var = true
@user.send(method,some_arg_that_might_come_in_a_local_var)
ArgumentError: wrong number of arguments (1 for 0)
I then get the exception.
Any ideas?
Cheers,
- Marcelo.