Sha256: 464fb3decdcc9f79de3b1706ca801a2da50ba066886c2840fb7ad3aae783042e

Contents?: true

Size: 833 Bytes

Versions: 5

Compression:

Stored size: 833 Bytes

Contents

# frozen_string_literal: true

module Slack
  module RealTime
    module Stores
      # Doesn't store anything.
      class Base
        CACHES = %i[
          teams
          users
          bots
          public_channels
          private_channels
          ims
          mpims
        ].freeze

        @events = Hash.new { |h, k| h[k] = [] }

        class << self
          attr_reader :events

          def inherited(subclass)
            super
            subclass.instance_variable_set :@events, events.dup
          end

          def on(event, &handler)
            events[event.to_s] << handler
          end
        end

        attr_accessor(*CACHES)

        def self
          nil
        end

        def team
          nil
        end

        def initialize(_attrs, _options = {}); end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
slack-ruby-client-2.4.0 lib/slack/real_time/stores/base.rb
slack-ruby-client-2.3.0 lib/slack/real_time/stores/base.rb
slack-ruby-client-2.2.0 lib/slack/real_time/stores/base.rb
slack-ruby-client-2.1.0 lib/slack/real_time/stores/base.rb
slack-ruby-client-2.0.0 lib/slack/real_time/stores/base.rb