Parent

Methods

Class/Module Index [+]

Quicksearch

Cinch::ISupport

This class exposes parsed ISUPPORT information of the IRC network.

Public Class Methods

new(*args) click to toggle source
# File lib/cinch/isupport.rb, line 52
def initialize(*args)
  super
  # by setting most numeric values to "Infinity", we let the
  # server truncate messages and lists while at the same time
  # allowing the use of strictness=:strict for servers that don't
  # support ISUPPORT (hopefully none, anyway)

  self["PREFIX"]    =  {"o" => "@", "v" => "+"}
  self["CHANTYPES"] =  ["#"]
  self["CHANMODES"] =  {
    "A"             => ["b"],
    "B"             => ["k"],
    "C"             => ["l"],
    "D"             => ]i m n p s t r]
  }
  self["MODES"]       = 1
  self["NICKLEN"]     = Float::INFINITY
  self["MAXBANS"]     = Float::INFINITY
  self["TOPICLEN"]    = Float::INFINITY
  self["KICKLEN"]     = Float::INFINITY
  self["CHANNELLEN"]  = Float::INFINITY
  self["CHIDLEN"]     = 5
  self["AWAYLEN"]     = Float::INFINITY
  self["MAXTARGETS"]  = 1
  self["MAXCHANNELS"] = Float::INFINITY # deprecated
  self["CHANLIMIT"]   = {"#" => Float::INFINITY}
  self["STATUSMSG"]   = ["@", "+"]
  self["CASEMAPPING"] = :rfc1459
  self["ELIST"]       = []
  self["MONITOR"]     = 0
end

Public Instance Methods

parse(*options) click to toggle source

@api private @return [void]

# File lib/cinch/isupport.rb, line 86
def parse(*options)
  options.each do |option|
    name, value = option.split("=")
    if value
      proc = @@mappings.find {|key, _| key.include?(name)}
      self[name] = (proc && proc[1].call(value)) || value
    else
      self[name] = true
    end
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.