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/broadcast_adapters.rb,
lib/lite_cable/connection/streams.rb,
lib/lite_cable/server/client_socket.rb,
lib/lite_cable/server/subscribers_map.rb,
lib/lite_cable/broadcast_adapters/base.rb,
lib/lite_cable/connection/authorization.rb,
lib/lite_cable/connection/subscriptions.rb,
lib/lite_cable/broadcast_adapters/memory.rb,
lib/lite_cable/connection/identification.rb,
lib/lite_cable/server/client_socket/base.rb,
lib/lite_cable/broadcast_adapters/any_cable.rb,
lib/lite_cable/server/client_socket/subscriptions.rb
Overview
:nodoc:
Defined Under Namespace
Modules: AnyCable, BroadcastAdapters, Channel, Coders, Connection, Logging, Server Classes: Config, UnknownChannelError
Constant Summary collapse
- VERSION =
"0.8.0"- 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 Attribute Summary collapse
-
.channel_registry ⇒ Object
Returns the value of attribute channel_registry.
Class Method Summary collapse
-
.anycable! ⇒ Object
Patch Lite Cable with AnyCable functionality.
-
.broadcast(stream, message, coder: LiteCable.config.coder) ⇒ Object
Broadcast encoded message to the stream.
- .broadcast_adapter ⇒ Object
- .broadcast_adapter=(adapter) ⇒ Object
- .config ⇒ Object
Class Attribute Details
.channel_registry ⇒ Object
Returns the value of attribute channel_registry.
26 27 28 |
# File 'lib/lite_cable.rb', line 26 def channel_registry @channel_registry end |
Class Method Details
.anycable! ⇒ Object
Patch Lite Cable with AnyCable functionality
52 53 54 |
# File 'lib/lite_cable/anycable.rb', line 52 def self.anycable! LiteCable::Connection::Base.extend LiteCable::AnyCable::Connection end |
.broadcast(stream, message, coder: LiteCable.config.coder) ⇒ Object
Broadcast encoded message to the stream
29 30 31 |
# File 'lib/lite_cable.rb', line 29 def broadcast(stream, , coder: LiteCable.config.coder) broadcast_adapter.broadcast(stream, , coder: coder) end |
.broadcast_adapter ⇒ Object
33 34 35 36 37 |
# File 'lib/lite_cable.rb', line 33 def broadcast_adapter return @broadcast_adapter if defined?(@broadcast_adapter) self.broadcast_adapter = LiteCable.config.broadcast_adapter.to_sym @broadcast_adapter end |
.broadcast_adapter=(adapter) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/lite_cable.rb', line 39 def broadcast_adapter=(adapter) if adapter.is_a?(Symbol) || adapter.is_a?(Array) adapter = BroadcastAdapters.lookup_adapter(adapter) end unless adapter.respond_to?(:broadcast) raise ArgumentError, "BroadcastAdapter must implement #broadcast method. " \ "#{adapter.class} doesn't implement it." end @broadcast_adapter = adapter end |
.config ⇒ Object
22 23 24 |
# File 'lib/lite_cable.rb', line 22 def config @config ||= Config.new end |