Sha256: 09e6f956d6815ffa0b44b9dd20fa87bc530dfc722bf569b63ddbdb2097505058
Contents?: true
Size: 610 Bytes
Versions: 18
Compression:
Stored size: 610 Bytes
Contents
# frozen_string_literal: true module Spandx module Core class Circuit attr_reader :name, :state, :logger def initialize(name, state: :closed, logger: Spandx.logger) @name = name @state = state @logger = logger end def attempt return if open? open! result = yield close! result ensure logger.debug("#{name} #{state}") end def open! @state = :open end def close! @state = :closed end def open? state == :open end end end end
Version data entries
18 entries across 18 versions & 1 rubygems