Class: IRB::Notifier::CompositeNotifier
| Relationships & Source Files | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
           AbstractNotifier | |
| Instance Chain: 
          self,
           AbstractNotifier | |
| Inherits: | IRB::Notifier::AbstractNotifier 
 | 
| Defined in: | lib/irb/notifier.rb | 
Overview
A class that can be used to create a group of notifier objects with the intent of representing a leveled notification system for irb.
This class will allow you to generate other notifiers, and assign them the appropriate level for output.
The Notifier class provides a class-method def_notifier to create a new composite notifier. Using the first composite notifier object you create, sibling notifiers can be initialized with #def_notifier.
Class Method Summary
- 
    
      .new(prefix, base_notifier)  ⇒ CompositeNotifier 
    
    constructor
    Create a new composite notifier object with the given prefix, andbase_notifierto use for output.
AbstractNotifier - Inherited
| .new | Creates a new  | 
Instance Attribute Summary
- 
    
      #level  
    
    rw
    Alias for #level_notifier. 
- 
    
      #level_notifier  
      (also: #level)
    
    rw
    Returns the leveled notifier for this object. 
- 
    
      #level_notifier=(value)  
      (also: #level=)
    
    rw
    Sets the leveled notifier for this object. 
- 
    
      #notifiers  
    
    readonly
    List of notifiers in the group. 
AbstractNotifier - Inherited
| #notify? | A wrapper method used to determine whether notifications are enabled. | 
| #prefix | The  | 
Instance Method Summary
- 
    
      #def_notifier(level, prefix = "")  
    
    Creates a new LeveledNotifierin the composite #notifiers group.
AbstractNotifier - Inherited
| #exec_if | Execute the given block if notifications are enabled. | 
| #pp | Same as  | 
| #ppx | Same as  | 
| See OutputMethod#print for more detail. | |
| #printf | See OutputMethod#printf for more detail. | 
| #printn | See OutputMethod#printn for more detail. | 
| #puts | See OutputMethod#puts for more detail. | 
Constructor Details
    .new(prefix, base_notifier)  ⇒ CompositeNotifier 
  
Create a new composite notifier object with the given prefix, and base_notifier to use for output.
Instance Attribute Details
#level (rw)
Alias for #level_notifier.
# File 'lib/irb/notifier.rb', line 147
alias level level_notifier
#level_notifier (rw) Also known as: #level
Returns the leveled notifier for this object
# File 'lib/irb/notifier.rb', line 146
attr_reader :level_notifier
#level_notifier=(value) (rw) Also known as: #level=
Sets the leveled notifier for this object.
When the given value is an instance of AbstractNotifier, #level_notifier is set to the given object.
When an Integer is given, #level_notifier is set to the notifier at the index value in the #notifiers Array.
If no notifier exists at the index value in the #notifiers Array, an ErrUndefinedNotifier exception is raised.
An ErrUnrecognizedLevel exception is raised if the given value is not found in the existing #notifiers Array, or an instance of AbstractNotifier
# File 'lib/irb/notifier.rb', line 163
def level_notifier=(value) case value when AbstractNotifier @level_notifier = value when Integer l = @notifiers[value] raise ErrUndefinedNotifier, value unless l @level_notifier = l else raise ErrUnrecognizedLevel, value unless l end end
#notifiers (readonly)
List of notifiers in the group
# File 'lib/irb/notifier.rb', line 131
attr_reader :notifiers
Instance Method Details
#def_notifier(level, prefix = "")
Creates a new LeveledNotifier in the composite #notifiers group.
The given prefix will be assigned to the notifier, and #level will be used as the index of the #notifiers Array.
This method returns the newly created instance.
# File 'lib/irb/notifier.rb', line 139
def def_notifier(level, prefix = "") notifier = LeveledNotifier.new(self, level, prefix) @notifiers[level] = notifier notifier end