Sha256: ba925f4a01d27cf12540eaa9feb54ff2879fcc072f162cc121a401dd11b368be

Contents?: true

Size: 956 Bytes

Versions: 6

Compression:

Stored size: 956 Bytes

Contents

# frozen_string_literal: true

require "active_support/callbacks"

module ActionCable
  module Channel
    module Callbacks
      extend  ActiveSupport::Concern
      include ActiveSupport::Callbacks

      included do
        define_callbacks :subscribe
        define_callbacks :unsubscribe
      end

      class_methods do
        def before_subscribe(*methods, &block)
          set_callback(:subscribe, :before, *methods, &block)
        end

        def after_subscribe(*methods, &block)
          set_callback(:subscribe, :after, *methods, &block)
        end
        alias_method :on_subscribe, :after_subscribe

        def before_unsubscribe(*methods, &block)
          set_callback(:unsubscribe, :before, *methods, &block)
        end

        def after_unsubscribe(*methods, &block)
          set_callback(:unsubscribe, :after, *methods, &block)
        end
        alias_method :on_unsubscribe, :after_unsubscribe
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
actioncable-5.2.0 lib/action_cable/channel/callbacks.rb
actioncable-5.2.0.rc2 lib/action_cable/channel/callbacks.rb
actioncable-5.2.0.rc1 lib/action_cable/channel/callbacks.rb
actioncable-5.2.0.beta2 lib/action_cable/channel/callbacks.rb
actioncable-5.2.0.beta1 lib/action_cable/channel/callbacks.rb
ruby-on-quails-0.1.0 actioncable/lib/action_cable/channel/callbacks.rb