Module: Julewire::Ractor::PortLifecycle

Defined in:
lib/julewire/ractor/port_lifecycle.rb

Class Method Summary collapse

Class Method Details

.close(port) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/julewire/ractor/port_lifecycle.rb', line 13

def close(port)
  return unless port.respond_to?(:close)

  port.close
  nil
rescue StandardError
  nil
end

.with_port(port = ::Ractor::Port.new) ⇒ Object



7
8
9
10
11
# File 'lib/julewire/ractor/port_lifecycle.rb', line 7

def with_port(port = ::Ractor::Port.new)
  yield port
ensure
  close(port)
end