Class: Atig::IFilter::Xid

Inherits:
Object
  • Object
show all
Defined in:
lib/atig/ifilter/xid.rb

Direct Known Subclasses

Sid, Tid

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Xid

Returns a new instance of Xid.



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/atig/ifilter/xid.rb', line 5

def initialize(context)
  @opts = context.opts
  c = @opts.send name # expect: 0..15, true, "0,1"
  b = nil
  c, b = c.split(",", 2).map {|i| i.to_i } if c.respond_to? :split
  c = 10 unless (0 .. 15).include? c # 10: teal
  if (0 .. 15).include?(b)
    @format = "\003%.2d,%.2d[%%s]\017" % [c, b]
  else
    @format = "\003%.2d[%%s]\017"      % c
  end
end

Instance Method Details

#call(status) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/atig/ifilter/xid.rb', line 18

def call(status)
  xid = status.send name
  unless xid and @opts.send(name)
    status
  else
    status.merge :text => "#{status.text} #{@format % xid}"
  end
end