ebf98f27c4
Enables frozen string for the following: * lib/gitlab/fogbugz_import/**/*.rb * lib/gitlab/gfm/**/*.rb * lib/gitlab/git/**/*.rb * lib/gitlab/gitaly_client/**/*.rb * lib/gitlab/gitlab_import/**/*.rb * lib/gitlab/google_code_import/**/*.rb * lib/gitlab/gpg/**/*.rb * lib/gitlab/grape_logging/**/*.rb * lib/gitlab/graphql/**/*.rb * lib/gitlab/graphs/**/*.rb * lib/gitlab/hashed_storage/**/*.rb * lib/gitlab/health_checks/**/*.rb Partially address gitlab-org/gitlab-ce#47424.
30 lines
462 B
Ruby
30 lines
462 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module GitalyClient
|
|
class QueueEnumerator
|
|
def initialize
|
|
@queue = Queue.new
|
|
end
|
|
|
|
def push(elem)
|
|
@queue << elem
|
|
end
|
|
|
|
def close
|
|
push(:close)
|
|
end
|
|
|
|
def each
|
|
return enum_for(:each) unless block_given?
|
|
|
|
loop do
|
|
elem = @queue.pop
|
|
break if elem == :close
|
|
|
|
yield elem
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|