Class UnicodePlugin::UnicodeFilter
In: lib/rbot/core/unicode.rb
Parent: Object
UnicodePlugin CoreBotModule dot/f_17.png

Methods

in   new   out  

Public Class methods

[Source]

    # File lib/rbot/core/unicode.rb, line 31
31:         def initialize(oenc, *iencs)
32:             o = oenc.dup
33:             o += '//ignore' if !o.include?('/')
34:             i = iencs[0].dup
35:             # i += '//ignore' if !i.include?('/')
36:             @iencs = iencs.dup
37:             @iconvs = @iencs.map { |_| Iconv.new('utf-8', _) }
38:             debug "*** o = #{o}, i = #{i}, iencs = #{iencs.inspect}"
39:             @default_in = Iconv.new('utf-8//ignore', i)
40:             @default_out = Iconv.new(o, 'utf-8//ignore')
41:         end

Public Instance methods

[Source]

    # File lib/rbot/core/unicode.rb, line 43
43:         def in(data)
44:             rv = nil
45:             @iconvs.each_with_index { |ic, idx|
46:                 begin
47:                     debug "trying #{@iencs[idx]}"
48:                     rv = ic.iconv(data)
49:                     break
50:                 rescue
51:                 end
52:             }
53: 
54:             rv = @default_in.iconv(data) if !rv
55:             debug ">> #{rv.inspect}"
56:             return rv
57:         end

[Source]

    # File lib/rbot/core/unicode.rb, line 59
59:         def out(data)
60:             rv = @default_out.iconv(data) rescue data # XXX: yeah, i know :/
61:             debug "<< #{rv}"
62:             rv
63:         end

[Validate]