123456789_123456789_123456789_123456789_123456789_

Module: ActionCable::Channel::Callbacks

Relationships & Source Files
Namespace Children
Modules:
Extension / Inclusion / Inheritance Descendants
Included In:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Instance Chain:
Defined in: actioncable/lib/action_cable/channel/callbacks.rb

Overview

Action Cable ::ActionCable::Channel provides callback hooks that are invoked during the life cycle of a channel:

  • [before_subscribe](ClassMethods#before_subscribe)

  • [after_subscribe](ClassMethods#after_subscribe) (aliased as [on_subscribe](ClassMethods#on_subscribe))

  • [before_unsubscribe](ClassMethods#before_unsubscribe)

  • [after_unsubscribe](ClassMethods#after_unsubscribe) (aliased as [on_unsubscribe](ClassMethods#on_unsubscribe))

Example

class ChatChannel < ApplicationCable::Channel
  after_subscribe :send_welcome_message, unless: :subscription_rejected?
  after_subscribe :track_subscription

  private
    def send_welcome_message
      broadcast_to(...)
    end

    def track_subscription
      # ...
    end
end

Constant Summary

::ActiveSupport::Callbacks - Included

CALLBACK_FILTER_TYPES

::ActiveSupport::Callbacks - Attributes & Methods

Class Method Summary

::ActiveSupport::DescendantsTracker - self

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

Instance Method Summary

::ActiveSupport::Callbacks - Included

#run_callbacks

Runs the callbacks for the given event.

DSL Calls

included

[ GitHub ]


42
43
44
45
# File 'actioncable/lib/action_cable/channel/callbacks.rb', line 42

included do
  define_callbacks :subscribe
  define_callbacks :unsubscribe
end

Class Attribute Details

.__callbacks (rw)

[ GitHub ]

  
# File 'activesupport/lib/active_support/callbacks.rb', line 69

class_attribute :__callbacks, instance_writer: false, instance_predicate: false, default: {}

Instance Attribute Details

#__callbacks (readonly)

[ GitHub ]

  
# File 'activesupport/lib/active_support/callbacks.rb', line 69

class_attribute :__callbacks, instance_writer: false, instance_predicate: false, default: {}