ferrum
ferrum copied to clipboard
Allow subscriptions to be removed
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
#onmethod previously returnedtrue. Now, it returns the index of the block within@on[event]. This could be considered a breaking change. Rather than using#onand#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
#unsubscribemethod.