module AWS::S3::PrefixedCollection
Attributes
prefix[R]
@return [String,nil] The prefix of this collection.
Public Class Methods
new(*args)
click to toggle source
@api private
Calls superclass method
# File lib/aws/s3/prefixed_collection.rb, line 22 def initialize *args options = args.last.is_a?(Hash) ? args.pop : {} @prefix = options[:prefix] args.push(options) super(*args) end
Public Instance Methods
with_prefix(prefix, mode = :replace)
click to toggle source
Returns a new collection with a different prefix
@example
objects = collection.with_prefix('photos') objects.prefix #=> 'photos'
@example Chaining #with_prefix replaces previous prefix
objects = collection.with_prefix('photos').with_prefix('videos') objects.prefix #=> 'videos'
@example Chaining #with_prefix with :append
objects = collection.with_prefix('a/').with_prefix('b/', :append) objects.prefix #=> 'a/b/'
@example Chaining #with_prefix with :prepend
objects = collection.with_prefix('a/').with_prefix('b/', :prepend) objects.prefix #=> 'b/a/'
@param [String] prefix The prefix condition that limits what objects
are returned by this collection.
@param [Symbol] mode (:replace) If you chain calls to with_prefix
the `mode` affects if the prefix prepends, appends, or replaces. Valid modes are: * `:replace` * `:append` * `:prepend`
@return [Collection] Returns a new collection with a modified prefix.
# File lib/aws/s3/prefixed_collection.rb, line 63 def with_prefix prefix, mode = :replace new_prefix = case mode when :replace then prefix when :append then "#{@prefix}#{prefix}" when :prepend then "#{prefix}#{@prefix}" else raise ArgumentError, "invalid prefix mode `#{mode}`, it must be " + ":replace, :append or :prepend" end self.class.new(bucket, :prefix => new_prefix) end
Protected Instance Methods
list_options(options)
click to toggle source
@api private
Calls superclass method
AWS::S3::PaginatedCollection#list_options
# File lib/aws/s3/prefixed_collection.rb, line 77 def list_options(options) opts = super opts[:prefix] = prefix if prefix opts end