类 IRB::Notifier::AbstractNotifier
一个抽象类,或超类,供 CompositeNotifier
和 LeveledNotifier
继承。它为 OutputMethod
对象提供了一些包装方法,该对象由 Notifier
使用。
属性
prefix[R]
此 Notifier
的 prefix
,它附加到输出期间检查的所有对象。
公共类方法
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
。
# File lib/irb/notifier.rb, line 58 def print(*opts) @base_notifier.print prefix, *opts if notify? end
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