Class: RailsInformant::BreadcrumbBuffer
- Inherits:
-
Object
- Object
- RailsInformant::BreadcrumbBuffer
- Defined in:
- lib/rails_informant/breadcrumb_buffer.rb
Constant Summary collapse
- CAPACITY =
50
Class Method Summary collapse
Instance Method Summary collapse
- #flush ⇒ Object
-
#initialize ⇒ BreadcrumbBuffer
constructor
A new instance of BreadcrumbBuffer.
- #record(category:, message:, metadata: {}, duration: nil) ⇒ Object
Constructor Details
#initialize ⇒ BreadcrumbBuffer
Returns a new instance of BreadcrumbBuffer.
9 10 11 |
# File 'lib/rails_informant/breadcrumb_buffer.rb', line 9 def initialize @crumbs = [] end |
Class Method Details
.current ⇒ Object
5 6 7 |
# File 'lib/rails_informant/breadcrumb_buffer.rb', line 5 def self.current RailsInformant::Current. ||= new end |
Instance Method Details
#flush ⇒ Object
24 25 26 27 28 |
# File 'lib/rails_informant/breadcrumb_buffer.rb', line 24 def flush result = @crumbs @crumbs = [] result end |
#record(category:, message:, metadata: {}, duration: nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/rails_informant/breadcrumb_buffer.rb', line 13 def record(category:, message:, metadata: {}, duration: nil) @crumbs << { category:, message:, metadata:, duration:, timestamp: Time.current.iso8601(3) } @crumbs.shift if @crumbs.size > CAPACITY end |