module ActionCable::Connection::Identification
def connection_gid(ids)
def connection_gid(ids) ids.map do |o| if o.respond_to? :to_gid_param o.to_gid_param else o.to_s end end.sort.join(":") end
def connection_identifier
def connection_identifier unless defined? @connection_identifier @connection_identifier = connection_gid identifiers.map { |id| instance_variable_get("@#{id}") }.compact end @connection_identifier end
def identified_by(*identifiers)
Note that anything marked as an identifier will automatically create a delegate by the same name on any
Common identifiers are current_user and current_account, but could be anything, really.
Mark a key as being a connection identifier index that can then be used to find the specific connection again later.
def identified_by(*identifiers) Array(identifiers).each { |identifier| attr_accessor identifier } self.identifiers += identifiers end