Class: Roby::Disposable

Inherits:
Object show all
Defined in:
lib/roby/disposable.rb

Overview

Basic disposable adaptor for blocks and other disposables

Defined Under Namespace

Classes: Null

Instance Method Summary collapse

Constructor Details

#initialize(*disposables, &block) ⇒ Disposable

Returns a new instance of Disposable.



6
7
8
9
10
# File 'lib/roby/disposable.rb', line 6

def initialize(*disposables, &block)
    @disposables = disposables
    @block = block
    @disposed = false
end

Instance Method Details

#disposeObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/roby/disposable.rb', line 16

def dispose
    return if disposed?

    @disposables.delete_if do |d|
        d.dispose
        true
    end
    @block&.call
    @disposed = true
end

#disposed?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/roby/disposable.rb', line 12

def disposed?
    @disposed
end