Sha256: 5dda5bb764ecf047b0e84ec4cd19cafa62b173c5cdd1e2d8284064b71ec05ffa

Contents?: true

Size: 882 Bytes

Versions: 33

Compression:

Stored size: 882 Bytes

Contents

# Acts the same as the Channel class on the front-end, but calls
# directly instead of using sockjs.

require 'volt/tasks/dispatcher'
require 'volt/reactive/eventable'

module Volt
  # Behaves the same as the Channel class, only the Channel class uses
  # sockjs to pass messages to the backend.  ChannelStub, simply passes
  # them directly to SocketConnectionHandlerStub.
  class ChannelStub
    include Eventable

    attr_reader :state, :error, :reconnect_interval

    def initialize
      @state = :connected
    end

    def opened
      trigger!('open')
      trigger!('changed')
    end

    def message_received(*message)
      trigger!('message', *message)
    end

    def send_message(message)
      SocketConnectionHandlerStub.new(self).process_message(message)
    end

    def close!
      fail 'close! should not be called on the backend channel'
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
volt-0.9.7.pre8 lib/volt/page/channel_stub.rb
volt-0.9.7.pre7 lib/volt/page/channel_stub.rb
volt-0.9.7.pre6 lib/volt/page/channel_stub.rb
volt-0.9.7.pre5 lib/volt/page/channel_stub.rb
volt-0.9.7.pre3 lib/volt/page/channel_stub.rb
volt-0.9.7.pre2 lib/volt/page/channel_stub.rb
volt-0.9.6 lib/volt/page/channel_stub.rb
volt-0.9.6.pre3 lib/volt/page/channel_stub.rb
volt-0.9.6.pre2 lib/volt/page/channel_stub.rb
volt-0.9.6.pre1 lib/volt/page/channel_stub.rb
volt-0.9.5 lib/volt/page/channel_stub.rb
volt-0.9.5.pre12 lib/volt/page/channel_stub.rb
volt-0.9.5.pre11 lib/volt/page/channel_stub.rb
volt-0.9.5.pre9 lib/volt/page/channel_stub.rb
volt-0.9.5.pre8 lib/volt/page/channel_stub.rb
volt-0.9.5.pre7 lib/volt/page/channel_stub.rb
volt-0.9.5.pre6 lib/volt/page/channel_stub.rb
volt-0.9.5.pre5 lib/volt/page/channel_stub.rb
volt-0.9.5.pre4 lib/volt/page/channel_stub.rb
volt-0.9.5.pre3 lib/volt/page/channel_stub.rb