Class: Vetinari::ISupport
- Inherits:
-
Hash
- Object
- Hash
- Vetinari::ISupport
- Defined in:
- lib/vetinari/isupport.rb
Instance Method Summary collapse
-
#initialize ⇒ ISupport
constructor
A new instance of ISupport.
- #parse(message) ⇒ Object
Constructor Details
#initialize ⇒ ISupport
Returns a new instance of ISupport.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/vetinari/isupport.rb', line 3 def initialize super # Defaults: self['CASEMAPPING'] = 'rfc1459' self['CHANLIMIT'] = {} self['CHANMODES'] = { 'A' => ['b'], 'B' => ['k'], 'C' => ['l'], 'D' => %w(i m n p s t r) } self['CHANNELLEN'] = 200 self['CHANTYPES'] = ['#', '&'] self['EXCEPTS'] = false self['IDCHAN'] = {} self['INVEX'] = false self['KICKLEN'] = Float::INFINITY self['MAXLIST'] = {} self['MODES'] = 3 self['NETWORK'] = '' self['NICKLEN'] = Float::INFINITY self['PREFIX'] = {'o' => '@', 'v' => '+'} self['SAFELIST'] = false self['STATUSMSG'] = false self['STD'] = false self['TARGMAX'] = {} self['TOPICLEN'] = Float::INFINITY end |
Instance Method Details
#parse(message) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/vetinari/isupport.rb', line 33 def parse() patterns = .split(' ') patterns.delete_at(0) patterns.each do |pattern| return self if pattern.start_with?(':') key = pattern.scan(/\w+/).first method_name = "set_#{key.downcase}" begin if respond_to?(method_name, true) send method_name, pattern else set_different key, pattern end rescue end end end |