Sha256: 8ebf8311be26c205927da03484081576c5a90ba3116bcf8666b40e54bfff1ae5
Contents?: true
Size: 840 Bytes
Versions: 25
Compression:
Stored size: 840 Bytes
Contents
# frozen_string_literal: true # :markup: markdown module ActionCable module Channel module Naming extend ActiveSupport::Concern module ClassMethods # Returns the name of the channel, underscored, without the `Channel` ending. If # the channel is in a namespace, then the namespaces are represented by single # colon separators in the channel name. # # ChatChannel.channel_name # => 'chat' # Chats::AppearancesChannel.channel_name # => 'chats:appearances' # FooChats::BarAppearancesChannel.channel_name # => 'foo_chats:bar_appearances' def channel_name @channel_name ||= name.delete_suffix("Channel").gsub("::", ":").underscore end end def channel_name self.class.channel_name end end end end
Version data entries
25 entries across 25 versions & 3 rubygems