class Foo
def initialize
@bar = []
end
def changed_callback
puts "Bar has been changed!"
end
def bar
@bar
end
def bar=(a)
@bar = a
self.changed_callback() # (hence why this doesn't just use attr_accessor)
end
def bar<<(a)
@bar.push(a)
self.changed_callback()
end
end
f = Foo.new()
f.bar = [1,2,3]
=> "Bar has been changed!"
f.bar << 4
=> "Bar has been changed!"
puts f.bar.inspect
=> [1,2,3,4]
Is anything like that possible?
Thanks!