module Playwright::EventEmitter

A subset of Events/EventEmitter in Node.js

Public Instance Methods

emit(event, *args) click to toggle source

@param event [String] @returns [Boolean]

# File lib/playwright/event_emitter.rb, line 38
def emit(event, *args)
  handled = false
  (@__event_emitter ||= {})[event.to_s]&.each do |callback|
    callback.call(*args)
    handled = true
  end
  handled
end
off(event, callback) click to toggle source

@param event [String] @param callback [Proc]

# File lib/playwright/event_emitter.rb, line 72
def off(event, callback)
  raise ArgumentError.new('callback must not be nil') if callback.nil?

  cb = (@__event_emitter_callback ||= {})["#{event}/#{callback.object_id}"]
  if cb
    (@__event_emitter ||= {})[event.to_s]&.delete(cb)
  end
  self
end
on(event, callback) click to toggle source

@param event [String] @param callback [Proc]

# File lib/playwright/event_emitter.rb, line 53
def on(event, callback)
  raise ArgumentError.new('callback must not be nil') if callback.nil?
  cb = (@__event_emitter_callback ||= {})["#{event}/#{callback.object_id}"] ||= EventEmitterCallback.new(callback)
  ((@__event_emitter ||= {})[event.to_s] ||= Set.new) << cb
  self
end
once(event, callback) click to toggle source

@param event [String] @param callback [Proc]

# File lib/playwright/event_emitter.rb, line 62
def once(event, callback)
  raise ArgumentError.new('callback must not be nil') if callback.nil?

  cb = (@__event_emitter_callback ||= {})["#{event}/once/#{callback.object_id}"] ||= EventEmitterOnceCallback.new(callback)
  ((@__event_emitter ||= {})[event.to_s] ||= Set.new) << cb
  self
end

Private Instance Methods

listener_count(event) click to toggle source
# File lib/playwright/event_emitter.rb, line 47
        def listener_count(event)
  ((@__event_emitter ||= {})[event.to_s] ||= Set.new).count
end