Class: IRB::Notifier::LeveledNotifier

Inherits:
AbstractNotifier show all
Includes:
Comparable
Defined in:
lib/irb/notifier.rb

Overview

A leveled notifier is comparable to the composite group from CompositeNotifier#notifiers.

Direct Known Subclasses

NoMsgNotifier

Instance Attribute Summary collapse

Attributes inherited from AbstractNotifier

#prefix

Instance Method Summary collapse

Methods inherited from AbstractNotifier

#exec_if, #pp, #ppx, #print, #printf, #printn, #puts

Constructor Details

#initialize(base, level, prefix) ⇒ LeveledNotifier

Create a new leveled notifier with the given base, and prefix to send to AbstractNotifier.new

The given level is used to compare other leveled notifiers in the CompositeNotifier group to determine whether or not to output notifications.



186
187
188
189
190
# File 'lib/irb/notifier.rb', line 186

def initialize(base, level, prefix)
  super(prefix, base)

  @level = level
end

Instance Attribute Details

#levelObject (readonly)

The current level of this notifier object



193
194
195
# File 'lib/irb/notifier.rb', line 193

def level
  @level
end

Instance Method Details

#<=>(other) ⇒ Object

Compares the level of this notifier object with the given other notifier.

See the Comparable module for more information.



199
200
201
# File 'lib/irb/notifier.rb', line 199

def <=>(other)
  @level <=> other.level
end

#notify?Boolean

Whether to output messages to the output method, depending on the level of this notifier object.

Returns:

  • (Boolean)


205
206
207
# File 'lib/irb/notifier.rb', line 205

def notify?
  @base_notifier.level >= self
end