Module: LiteCable

Defined in:
lib/lite_cable.rb,
lib/lite_cable/coders.rb,
lib/lite_cable/config.rb,
lib/lite_cable/server.rb,
lib/lite_cable/channel.rb,
lib/lite_cable/logging.rb,
lib/lite_cable/version.rb,
lib/lite_cable/anycable.rb,
lib/lite_cable/internal.rb,
lib/lite_cable/coders/raw.rb,
lib/lite_cable/connection.rb,
lib/lite_cable/coders/json.rb,
lib/lite_cable/channel/base.rb,
lib/lite_cable/channel/streams.rb,
lib/lite_cable/connection/base.rb,
lib/lite_cable/channel/registry.rb,
lib/lite_cable/server/heart_beat.rb,
lib/lite_cable/server/middleware.rb,
lib/lite_cable/connection/streams.rb,
lib/lite_cable/server/client_socket.rb,
lib/lite_cable/server/subscribers_map.rb,
lib/lite_cable/connection/authorization.rb,
lib/lite_cable/connection/subscriptions.rb,
lib/lite_cable/connection/identification.rb,
lib/lite_cable/server/client_socket/base.rb,
lib/lite_cable/server/client_socket/subscriptions.rb

Overview

Lightwieght ActionCable implementation.

Contains application logic (channels, streams, broadcasting) and also (optional) Rack hijack based server (suitable only for development and test).

Compatible with AnyCable (for production usage).

Defined Under Namespace

Modules: AnyCable, Channel, Coders, Connection, Logging, Server Classes: Config

Constant Summary collapse

VERSION =
"0.4.2"
INTERNAL =
{
  message_types: {
    welcome: "welcome",
    ping: "ping",
    confirmation: "confirm_subscription",
    rejection: "reject_subscription",
    cancel: "cancel_subscription"
  }.freeze,
  protocols: ["actioncable-v1-json", "actioncable-unsupported"].freeze
}.freeze

Class Method Summary collapse

Class Method Details

.anycable!Object

Patch Lite Cable with AnyCable functionality



58
59
60
61
# File 'lib/lite_cable/anycable.rb', line 58

def self.anycable!
  LiteCable::Connection::Base.extend LiteCable::AnyCable::Connection
  LiteCable.singleton_class.prepend LiteCable::AnyCable::Broadcasting
end

.broadcast(*args) ⇒ Object

Broadcast encoded message to the stream



25
26
27
# File 'lib/lite_cable.rb', line 25

def broadcast(*args)
  LiteCable::Server.broadcast(*args)
end

.configObject



20
21
22
# File 'lib/lite_cable.rb', line 20

def config
  @config ||= Config.new
end