Class: Puppeteer::Bidi::Core::Disposable::DisposableStack
- Inherits:
-
Object
- Object
- Puppeteer::Bidi::Core::Disposable::DisposableStack
- Defined in:
- lib/puppeteer/bidi/core/disposable.rb,
sig/puppeteer/bidi/core/disposable.rbs
Overview
DisposableStack manages multiple disposable resources
Instance Method Summary collapse
-
#dispose ⇒ void
Dispose all resources in reverse order (LIFO).
- #disposed? ⇒ Boolean
-
#initialize ⇒ DisposableStack
constructor
A new instance of DisposableStack.
-
#use(resource) ⇒ Object
Add a disposable resource to the stack.
Constructor Details
#initialize ⇒ DisposableStack
Returns a new instance of DisposableStack.
13 14 15 16 |
# File 'lib/puppeteer/bidi/core/disposable.rb', line 13 def initialize @disposed = false @resources = [] #: Array[untyped] end |
Instance Method Details
#dispose ⇒ void
This method returns an undefined value.
Dispose all resources in reverse order (LIFO)
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/puppeteer/bidi/core/disposable.rb', line 29 def dispose return if @disposed @disposed = true # Dispose in reverse order @resources.reverse_each do |resource| begin resource.dispose if resource.respond_to?(:dispose) rescue => e warn "Error disposing resource: #{e.}" end end @resources.clear end |
#disposed? ⇒ Boolean
46 47 48 |
# File 'lib/puppeteer/bidi/core/disposable.rb', line 46 def disposed? @disposed end |
#use(resource) ⇒ Object
Add a disposable resource to the stack
21 22 23 24 25 |
# File 'lib/puppeteer/bidi/core/disposable.rb', line 21 def use(resource) raise 'DisposableStack already disposed' if @disposed @resources << resource resource end |