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.



184
185
186
187
188
# File 'lib/irb/notifier.rb', line 184

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

  @level = level
end

Instance Attribute Details

#levelObject (readonly)

The current level of this notifier object



191
192
193
# File 'lib/irb/notifier.rb', line 191

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.



197
198
199
# File 'lib/irb/notifier.rb', line 197

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)


203
204
205
# File 'lib/irb/notifier.rb', line 203

def notify?
  @base_notifier.level >= self
end