This is admittedly not the most elegant API, but my goal is to start a discussion about how this should look.
Here's how you'd subscribe and unsubscribe:
subscription = page.on("Some.event") do |params, _index, _total|
# etc
end
page.off("Some.event", subscription)
Here are some important considerations:
The #on method previously returned true. Now, it returns the index of the block within @on[event]. This could be considered a breaking change. Rather than using #on and #off, we could introduce a new method called #subscribe.
Rather than returning a value that identifies the specific event handler, we could return an object that has an #unsubscribe method.
This is admittedly not the most elegant API, but my goal is to start a discussion about how this should look.
Here's how you'd subscribe and unsubscribe:
Here are some important considerations:
#on
method previously returnedtrue
. Now, it returns the index of the block within@on[event]
. This could be considered a breaking change. Rather than using#on
and#off
, we could introduce a new method called#subscribe
.#unsubscribe
method.