# 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 41
    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 99
    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 53
    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 82
    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 92
    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.

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

printf(format, *opts) click to toggle source

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

printn(*opts) click to toggle source

See `OutputMethod#printn` for more detail.

    # File lib/irb/notifier.rb, line 63
    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 73
    def puts(*objs)
      if notify?
        @base_notifier.puts(*objs.collect{|obj| prefix + obj.to_s})
      end
    end