An abstract class, or superclass, for CompositeNotifier
and LeveledNotifier
to inherit. It provides several wrapper methods for the OutputMethod
object used by the Notifier
.
The prefix
for this Notifier
, which is appended to all objects being inspected during output.
Creates a new Notifier
object
# File irb/notifier.rb, line 47 def initialize(prefix, base_notifier) @prefix = prefix @base_notifier = base_notifier end
Execute the given block if notifications are enabled.
# File irb/notifier.rb, line 105 def exec_if yield(@base_notifier) if notify? end
A wrapper method used to determine whether notifications are enabled.
Defaults to true
.
# File irb/notifier.rb, line 59 def notify? true end
Same as ppx
, except it uses the prefix
given during object initialization. See OutputMethod#ppx
for more detail.
# File irb/notifier.rb, line 88 def pp(*objs) if notify? @base_notifier.ppx @prefix, *objs end end
Same as pp
, except it concatenates the given prefix
with the prefix
given during object initialization.
See OutputMethod#ppx
for more detail.
# File irb/notifier.rb, line 98 def ppx(prefix, *objs) if notify? @base_notifier.ppx @prefix+prefix, *objs end end
See OutputMethod#print
for more detail.
# File irb/notifier.rb, line 64 def print(*opts) @base_notifier.print prefix, *opts if notify? end
See OutputMethod#printf
for more detail.
# File irb/notifier.rb, line 74 def printf(format, *opts) @base_notifier.printf(prefix + format, *opts) if notify? end
See OutputMethod#printn
for more detail.
# File irb/notifier.rb, line 69 def printn(*opts) @base_notifier.printn prefix, *opts if notify? end
See OutputMethod#puts
for more detail.
# File irb/notifier.rb, line 79 def puts(*objs) if notify? @base_notifier.puts(*objs.collect{|obj| prefix + obj.to_s}) end end