I am trying to get call one of my classes attribute writers, but for some reason it never gets called. Here's some code that'll make this clearer:
class Test
attr_reader :test
def test=(val)
puts 'Called'
@test = val
end
def set_it(val)
test = val
end
end
obj = Test.new
obj.set_it 5
puts obj.test
=> nil
The puts statement at the end outputs 'nil'. Adding a debugging statement to test= shows it is never called. What am I doing wrong?
Update
I re-wrote this question partially, as I didn't truly understand the problem when I wrote it. So the question is much more generalized now.