ferrum icon indicating copy to clipboard operation
ferrum copied to clipboard

Allow subscriptions to be removed

Open rzane opened this issue 1 year ago • 0 comments

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.

rzane avatar Mar 23 '24 01:03 rzane