class IRB::Notifier::AbstractNotifier

An abstract class, or superclass, for CompositeNotifier and LeveledNotifier to inherit. It provides several wrapper methods for the OutputMethod object used by the Notifier.

Attributes

prefix[R]

The prefix for this Notifier, which is appended to all objects being inspected during output.

Public Class Methods

new(prefix, base_notifier) click to toggle source

Creates a new Notifier object

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

Public Instance Methods

exec_if() { |base_notifier| ... } click to toggle source

Execute the given block if notifications are enabled.

# File lib/irb/notifier.rb, line 101
def exec_if
  yield(@base_notifier) if notify?
end
notify?() click to toggle source

A wrapper method used to determine whether notifications are enabled.

Defaults to true.

# File lib/irb/notifier.rb, line 55
def notify?
  true
end
pp(*objs) click to toggle source

Same as ppx, except it uses the prefix given during object initialization. See OutputMethod#ppx for more detail.

# File lib/irb/notifier.rb, line 84
def pp(*objs)
  if notify?
    @base_notifier.ppx @prefix, *objs
  end
end
ppx(prefix, *objs) click to toggle source

Same as pp, except it concatenates the given prefix with the prefix given during object initialization.

See OutputMethod#ppx for more detail.

# File lib/irb/notifier.rb, line 94
def ppx(prefix, *objs)
  if notify?
    @base_notifier.ppx @prefix+prefix, *objs
  end
end
print(*opts) click to toggle source

See OutputMethod#print for more detail.

printf(format, *opts) click to toggle source

See OutputMethod#printf for more detail.

# File lib/irb/notifier.rb, line 70
def printf(format, *opts)
  @base_notifier.printf(prefix + format, *opts) if notify?
end
printn(*opts) click to toggle source

See OutputMethod#printn for more detail.

# File lib/irb/notifier.rb, line 65
def printn(*opts)
  @base_notifier.printn prefix, *opts if notify?
end
puts(*objs) click to toggle source

See OutputMethod#puts for more detail.

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