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 42
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 100
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 54
def notify?
true
end
Same as ppx, except it uses the prefix given during object initialization. See IRB::OutputMethod#ppx for more detail.
# File irb/notifier.rb, line 83
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 IRB::OutputMethod#ppx for more detail.
# File irb/notifier.rb, line 93
def ppx(prefix, *objs)
if notify?
@base_notifier.ppx @prefix+prefix, *objs
end
end
See IRB::OutputMethod#print for more detail.
# File irb/notifier.rb, line 59
def print(*opts)
@base_notifier.print prefix, *opts if notify?
end
See IRB::OutputMethod#printf for more detail.
# File irb/notifier.rb, line 69
def printf(format, *opts)
@base_notifier.printf(prefix + format, *opts) if notify?
end
See IRB::OutputMethod#printn for more detail.
# File irb/notifier.rb, line 64
def printn(*opts)
@base_notifier.printn prefix, *opts if notify?
end
See IRB::OutputMethod#puts for more detail.
# File irb/notifier.rb, line 74
def puts(*objs)
if notify?
@base_notifier.puts(*objs.collect{|obj| prefix + obj.to_s})
end
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please see Improve the docs, or visit Documenting-ruby.org.