Module: Mongo::Error::Notable Private
- Included in:
- Mongo::Error, AuthError
- Defined in:
- lib/mongo/error/notable.rb
Overview
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
A module encapsulating functionality to manage data attached to exceptions in the driver, since the driver does not currently have a single exception hierarchy root.
Instance Attribute Summary collapse
-
#generation ⇒ Integer | nil
private
Returns connection pool generation for the connection on which the error occurred.
Instance Method Summary collapse
- #add_note(note) ⇒ Object private
-
#notes ⇒ Array<String>
Returns an array of strings with additional information about the exception.
- #to_s ⇒ Object
Instance Attribute Details
#generation ⇒ Integer | nil
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns connection pool generation for the connection on which the error occurred.
61 62 63 |
# File 'lib/mongo/error/notable.rb', line 61 def generation @generation end |
Instance Method Details
#add_note(note) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/mongo/error/notable.rb', line 42 def add_note(note) unless @notes @notes = [] end if Lint.enabled? if @notes.include?(note) # The driver makes an effort to not add duplicated notes, by # keeping track of *when* a particular exception should have the # particular notes attached to it throughout the call stack. raise Error::LintError, "Adding a note which already exists in exception #{self}: #{note}" end end @notes << note end |
#notes ⇒ Array<String>
Returns an array of strings with additional information about the exception.
33 34 35 36 37 38 39 |
# File 'lib/mongo/error/notable.rb', line 33 def notes if @notes @notes.dup else [] end end |
#to_s ⇒ Object
64 65 66 |
# File 'lib/mongo/error/notable.rb', line 64 def to_s super + notes_tail end |