class Ferrum::Browser::Subscriber
Public Class Methods
build(size)
click to toggle source
# File lib/ferrum/browser/subscriber.rb, line 10 def self.build(size) (0..size).map { new } end
new()
click to toggle source
Calls superclass method
# File lib/ferrum/browser/subscriber.rb, line 14 def initialize super @on = Concurrent::Hash.new { |h, k| h[k] = Concurrent::Array.new } end
Public Instance Methods
call(message)
click to toggle source
# File lib/ferrum/browser/subscriber.rb, line 28 def call(message) method, params = message.values_at("method", "params") total = @on[method].size @on[method].each_with_index do |block, index| # If there are a few callback we provide current index and total block.call(params, index, total) end end
on(event, &block)
click to toggle source
# File lib/ferrum/browser/subscriber.rb, line 19 def on(event, &block) @on[event] << block true end
subscribed?(event)
click to toggle source
# File lib/ferrum/browser/subscriber.rb, line 24 def subscribed?(event) @on.key?(event) end