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.



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

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

  @level = level
end

Instance Attribute Details

#levelObject (readonly)

The current level of this notifier object



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

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.



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

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)


209
210
211
# File 'lib/irb/notifier.rb', line 209

def notify?
  @base_notifier.level >= self
end