class Google::Cloud::Storage::Bucket::List
Bucket::List is a special case Array with additional values.
#
def self.from_gapi gapi_list, service, prefix = nil, max = nil,
- Private: - New Bucket::List from a Google API Client
def self.from_gapi gapi_list, service, prefix = nil, max = nil, user_project: nil, soft_deleted: nil buckets = new(Array(gapi_list.items).map do |gapi_object| Bucket.from_gapi gapi_object, service, user_project: user_project end) buckets.instance_variable_set :@token, gapi_list.next_page_token buckets.instance_variable_set :@service, service buckets.instance_variable_set :@prefix, prefix buckets.instance_variable_set :@max, max buckets.instance_variable_set :@user_project, user_project buckets.instance_variable_set :@soft_deleted, soft_deleted buckets end
def all request_limit: nil, &block
- Example: Limit the number of API calls made: -
Example: Using the enumerator by not passing a block: -
Example: Iterating each bucket by passing a block: -
Returns:
-
(Enumerator)
-
Other tags:
- Yieldparam: bucket - The bucket object.
Other tags:
- Yield: - The block for accessing each bucket.
Parameters:
-
request_limit
(Integer
) -- The upper limit of API requests to
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(&block) if request_limit request_limit -= 1 break if request_limit.negative? end break unless results.next? results = results.next end end
def ensure_service!
#
def ensure_service! raise "Must have active connection" unless @service end
def initialize arr = []
- Private: - Create a new Bucket::List with an array of values.
def initialize arr = [] super arr end
def next
-
(Bucket::List)
-
def next return nil unless next? ensure_service! gapi = @service.list_buckets prefix: @prefix, token: @token, max: @max, user_project: @user_project, soft_deleted: @soft_deleted Bucket::List.from_gapi gapi, @service, @prefix, @max, user_project: @user_project end
def next?
-
(Boolean)
-
def next? !token.nil? end