Sha256: b1365bc707faf20e1a60d6998442b7f011804ecbdd9757923ebbb1cf729c23de

Contents?: true

Size: 567 Bytes

Versions: 6

Compression:

Stored size: 567 Bytes

Contents

module Resugan
  class Context
    def initialize(namespace = '')
      @namespace = namespace
      @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

6 entries across 6 versions & 1 rubygems

Version Path
resugan-0.1.13 lib/resugan/context.rb
resugan-0.1.12 lib/resugan/context.rb
resugan-0.1.11 lib/resugan/context.rb
resugan-0.1.10 lib/resugan/context.rb
resugan-0.1.9 lib/resugan/context.rb
resugan-0.1.8 lib/resugan/context.rb