Sha256: 40a75e2af1e6386c08ff5b7e9a2d61e2160a324fc1c4e8f579ee166cc8b584f7

Contents?: true

Size: 572 Bytes

Versions: 2

Compression:

Stored size: 572 Bytes

Contents

module Resugan
  class Context
    def initialize(namespace = '')
      @namespace = namespace.to_s
      @events = {}
    end

    def namespace
      @namespace
    end

    def register(event, params = {})
      event = event.to_sym
      payload = { params: params }
      if @events[event]
        @events[event] << payload
      else
        @events[event] = [payload]
      end
    end

    def invoke
      dispatcher = Resugan::Kernel.dispatcher_for(@namespace)
      dispatcher.dispatch(@namespace, @events)
    end

    def dump
      @events
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
resugan-0.1.15 lib/resugan/context.rb
resugan-0.1.14 lib/resugan/context.rb