Sha256: f900a76cc178a17f520e62f0df5145fcf5ce20b54d93746abe035edb247b4ed8

Contents?: true

Size: 812 Bytes

Versions: 2

Compression:

Stored size: 812 Bytes

Contents

# ==========================================================================
# Project:   Ivory
# Copyright: ©2010 Strobe Inc. All rights reserved.
# License:   Licened under MIT license (see LICENSE)
# ==========================================================================

module Ivory
  class EventEmitterExports < Spade::Runtime::Exports

    class EventEmitter
      attr_accessor :_events

      def emit(e, *args)
        return unless @_events
        case notify = @_events[e]
        when V8::Function
          notify.methodcall(self, *args)
        when V8::Array
          notify.each {|listener| listener.methodcall(self, *args) if listener}
        else
          return false
        end
        return true
      end

    end
        
  end

end

Spade.exports = Ivory::EventEmitterExports

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spade-packager-0.1.0.1 packages/ivory/lib/ruby/events.rb
spade-packager-0.1.0 packages/ivory/lib/ruby/events.rb