Sha256: ff9c0d736f370aef466a6a91f29eb16dab2665ffdcd3eccdb146171627a76e5c

Contents?: true

Size: 803 Bytes

Versions: 8

Compression:

Stored size: 803 Bytes

Contents

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

module Ivory
  class EventEmitterExports < Spade::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

8 entries across 8 versions & 1 rubygems

Version Path
spade-0.0.8.1 packages/ivory/lib/ruby/events.rb
spade-0.0.7 packages/ivory/lib/ruby/events.rb
spade-0.0.6 packages/ivory/lib/ruby/events.rb
spade-0.0.5 packages/ivory/lib/ruby/events.rb
spade-0.0.4 packages/ivory/lib/ruby/events.rb
spade-0.0.3 packages/ivory/lib/ruby/events.rb
spade-0.0.2 packages/ivory/lib/ruby/events.rb
spade-0.0.1 packages/ivory/lib/ruby/events.rb