Instance Variable On-Change

I need to make a way to run a method when class’ instance variable
changes from false to true and only run it once. But I have no idea how
to do this.

Any ideas?

Ryan L. wrote:

I need to make a way to run a method when class’ instance variable
changes from false to true and only run it once. But I have no idea how
to do this.

Any ideas?

Check out the observer library.

On Sun, Apr 13, 2008 at 02:17:37AM +0900, Tim H. wrote:

Ryan L. wrote:

I need to make a way to run a method when class’ instance variable
changes from false to true and only run it once. But I have no idea how
to do this.

Any ideas?

Check out the observer library.

why bother with observer if this can be nicely achieved with an
appropriate setter? something like …

class SomeClass

def initialize
@switch = false
end

def switch=(value)
on_switch_becomes_true if !@switch && (@switch = value)
end

def on_switch_becomes_true
# …
end

end

g phil

Philipp H. wrote:

why bother with observer if this can be nicely achieved with an
appropriate setter? something like …

Good catch! I confess I assumed that the OP would not have asked if a
plain setter method would do the trick.