class Semian::CircuitBreaker

def mark_failed(error)

def mark_failed(error)
  push_error(error)
  push_time(@errors)
  if closed?
    transition_to_open if error_threshold_reached?
  elsif half_open?
    transition_to_open
  end
end