lib/google/cloud/spanner/database/list.rb in google-cloud-spanner-2.4.0 vs lib/google/cloud/spanner/database/list.rb in google-cloud-spanner-2.5.0

- old
+ new

@@ -69,11 +69,11 @@ # end def next return nil unless next? ensure_service! options = { token: token, max: @max } - grpc = @service.list_databases @instance_id, options + grpc = @service.list_databases @instance_id, **options self.class.from_grpc grpc, @service, @max end ## # Retrieves remaining results by repeatedly invoking {#next} until @@ -121,20 +121,20 @@ # databases = spanner.databases "my-instance" # databases.all(request_limit: 10) do |database| # puts database.database_id # end # - def all request_limit: nil + def all request_limit: nil, &block request_limit = request_limit.to_i if request_limit unless block_given? return enum_for :all, request_limit: request_limit end results = self loop do - results.each { |r| yield r } + results.each(&block) if request_limit request_limit -= 1 - break if request_limit < 0 + break if request_limit.negative? end break unless results.next? results = results.next end end