类 IRB::Notifier::AbstractNotifier

一个抽象类,或超类,供 CompositeNotifierLeveledNotifier 继承。它为 OutputMethod 对象提供了一些包装方法,该对象由 Notifier 使用。

属性

prefix[R]

Notifierprefix,它附加到输出期间检查的所有对象。

公共类方法

new(prefix, base_notifier) 点击切换源代码

创建一个新的 Notifier 对象

# File lib/irb/notifier.rb, line 41
def initialize(prefix, base_notifier)
  @prefix = prefix
  @base_notifier = base_notifier
end

公共实例方法

exec_if() { |base_notifier| ... } 点击切换源代码

如果启用了通知,则执行给定的代码块。

# File lib/irb/notifier.rb, line 99
def exec_if
  yield(@base_notifier) if notify?
end
notify?() 点击切换源代码

一个用于确定是否启用了通知的包装方法。

默认值为 true

# File lib/irb/notifier.rb, line 53
def notify?
  true
end
pp(*objs) 点击切换源代码

ppx 相同,只是它使用对象初始化期间给定的 prefix。有关更多详细信息,请参阅 OutputMethod#ppx

# File lib/irb/notifier.rb, line 82
def pp(*objs)
  if notify?
    @base_notifier.ppx @prefix, *objs
  end
end
ppx(prefix, *objs) 点击切换源代码

pp 相同,只是它将给定的 prefix 与对象初始化期间给定的 prefix 连接起来。

有关更多详细信息,请参阅 OutputMethod#ppx

# File lib/irb/notifier.rb, line 92
def ppx(prefix, *objs)
  if notify?
    @base_notifier.ppx @prefix+prefix, *objs
  end
end
print(*opts) 点击切换源代码

有关更多详细信息,请参阅 OutputMethod#print

printf(format, *opts) 点击切换源代码

有关更多详细信息,请参阅 OutputMethod#printf

# File lib/irb/notifier.rb, line 68
def printf(format, *opts)
  @base_notifier.printf(prefix + format, *opts) if notify?
end
printn(*opts) 点击切换源代码

有关更多详细信息,请参见 OutputMethod#printn

# File lib/irb/notifier.rb, line 63
def printn(*opts)
  @base_notifier.printn prefix, *opts if notify?
end
puts(*objs) 点击切换源代码

有关更多详细信息,请参见 OutputMethod#puts

# File lib/irb/notifier.rb, line 73
def puts(*objs)
  if notify?
    @base_notifier.puts(*objs.collect{|obj| prefix + obj.to_s})
  end
end