class PactBroker::Events::TemporaryListeners

Public Instance Methods

subscribe(*listeners) { || ... } click to toggle source
# File lib/pact_broker/events/subscriber.rb, line 10
def subscribe(*listeners)
  options = listeners.last.is_a?(Hash) ? listeners.pop : {}
  begin
    listeners.each { |listener| registrations << Wisper::ObjectRegistration.new(listener, options) }
    yield
  ensure
    unsubscribe(listeners)
  end
  self
end
unsubscribe(listeners) click to toggle source
# File lib/pact_broker/events/subscriber.rb, line 21
def unsubscribe(listeners)
  registrations.delete_if do |registration|
    listeners.include?(registration.listener)
  end
end