Sha256: 576997d50ed671279c3edbc65927800923e957500e9f1d09fdc7378ba5283183

Contents?: true

Size: 733 Bytes

Versions: 8

Compression:

Stored size: 733 Bytes

Contents

require 'faye'

class Extension
  attr_reader :collection

  def initialize(collection = [])
    @collection = collection  
  end

  def outgoing(message, callback)
    if(message['channel'] == '/meta/subscribe')
      (message['ext'] ||= {}).tap do |ext|
        ext[:init] ||= {}
        ext[:init][:collection] = collection
      end
    end
    callback.call(message)
  end
end

servers = []

servers << Thread.new do
  Faye::RackAdapter.new({
    :mount => '/faye',
    :extensions => [
      Extension.new
    ]
  }).listen(12001)
end

servers << Thread.new do
  Faye::RackAdapter.new({
    :mount => '/faye',
    :extensions => [
      Extension.new([{abcd: 1}, {efgh: 23}])
    ]
  }).listen(12002)
end

servers.each(&:join)

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
transistor-0.1.13 spec/servers.rb
transistor-0.1.12 spec/servers.rb
transistor-0.1.11 spec/servers.rb
transistor-0.1.10 spec/servers.rb
transistor-0.1.9 spec/servers.rb
transistor-0.1.8 spec/servers.rb
transistor-0.1.7 spec/servers.rb
transistor-0.1.6 spec/servers.rb