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.


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

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

	@level = level
end

Instance Attribute Details

#levelObject (readonly)

The current level of this notifier object


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

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.


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

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)

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

def notify?
	@base_notifier.level >= self
end