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