class S3::ObjectCollection
Public Class Methods
new(api, bucket_name)
click to toggle source
Calls superclass method
# File lib/s3/client/model/object_collection.rb, line 5 def initialize(api, bucket_name) super(api) @bucket = bucket_name end
Public Instance Methods
[](object_name)
click to toggle source
# File lib/s3/client/model/object_collection.rb, line 10 def [](object_name) object_named(object_name) end
each() { |object_opts(object)| ... }
click to toggle source
# File lib/s3/client/model/object_collection.rb, line 21 def each options = {} if @prefix options = options.merge(prefix: @prefix) end if @delimiter options = options.merge(delimiter: @delimiter) end marker = nil truncated = false begin if marker.present? options = options.merge(marker: marker) end xml_doc = @api.objects(@bucket, options) objects_result = S3::Concerns::ObjectsResult.new(xml_doc) objects = objects_result.full_objects truncated = objects_result.truncated? next_marker = objects_result.next_marker if next_marker.nil? marker = objects.last['Key'][0] if objects.present? else marker = next_marker end objects.each do |object| yield object_opts(object) end end while truncated end
where(prefix: nil, delimiter: nil)
click to toggle source
# File lib/s3/client/model/object_collection.rb, line 14 def where(prefix: nil, delimiter: nil) @prefix = prefix @delimiter = delimiter self end
Private Instance Methods
object_named(object_name)
click to toggle source
# File lib/s3/client/model/object_collection.rb, line 57 def object_named(object_name) S3::Object.new(@api, @bucket, object_name.to_s) end
object_opts(object_opts)
click to toggle source
# File lib/s3/client/model/object_collection.rb, line 61 def object_opts(object_opts) S3::Object.new(@api, @bucket, object_opts["Key"][0], object_opts) end