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

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

Public Class Methods

Creates a new Notifier object

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

Public Instance Methods

Execute the given block if notifications are enabled.

# File lib/irb/notifier.rb, line 99
def exec_if
  yield(@base_notifier) if notify?
end

A wrapper method used to determine whether notifications are enabled.

Defaults to true.

# File lib/irb/notifier.rb, line 53
def notify?
  true
end

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

# File lib/irb/notifier.rb, line 82
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 lib/irb/notifier.rb, line 92
def ppx(prefix, *objs)
  if notify?
    @base_notifier.ppx @prefix+prefix, *objs
  end
end

See OutputMethod#print for more detail.

See OutputMethod#printf for more detail.

# File lib/irb/notifier.rb, line 68
def printf(format, *opts)
  @base_notifier.printf(prefix + format, *opts) if notify?
end

See OutputMethod#printn for more detail.

# File lib/irb/notifier.rb, line 63
def printn(*opts)
  @base_notifier.printn prefix, *opts if notify?
end

See OutputMethod#puts for more detail.

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