Class: IRCSupport::Message::CAP::LS

Inherits:
IRCSupport::Message::CAP show all
Defined in:
lib/ircsupport/message.rb

Direct Known Subclasses

ACK, LIST

Constant Summary collapse

@@modifiers =
{
  '-' => :disable,
  '~' => :enable,
  '=' => :sticky,
}

Instance Attribute Summary collapse

Attributes inherited from IRCSupport::Message::CAP

#multipart, #reply, #subcommand

Attributes inherited from IRCSupport::Message

#args, #command, #prefix

Instance Method Summary collapse

Methods inherited from IRCSupport::Message

#type

Constructor Details

#initialize(args) ⇒ LS

Returns a new instance of LS.



504
505
506
507
508
509
510
511
512
513
514
515
516
517
# File 'lib/ircsupport/message.rb', line 504

def initialize(args)
  super(args)
  @capabilities = {}

  reply.split.each do |chunk|
    mods, capability = chunk.match(/\A([-=~]*)(.*)/).captures
    modifiers = []
    mods.split('').each do |modifier|
      modifiers << @@modifiers[modifier] if @@modifiers[modifier]
    end
    modifiers << :enable if mods.empty?
    @capabilities[capability] = modifiers
  end
end

Instance Attribute Details

#capabilitiesHash

Returns The capabilities referenced in the CAP reply. The keys are the capability names, and the values are arrays of modifiers (‘:enable`, `:disable`, `:sticky`).

Returns:

  • (Hash)

    The capabilities referenced in the CAP reply. The keys are the capability names, and the values are arrays of modifiers (‘:enable`, `:disable`, `:sticky`).



494
495
496
# File 'lib/ircsupport/message.rb', line 494

def capabilities
  @capabilities
end