Represents a leaf in an {S3::Tree}.
When enumerating nodes in an S3 tree, keys are yielded as leaf nodes (they have no children beneath them).
@see Tree @note Generally you do not need to create leaf nodes
@return [Tree, BranchNode] The parent node in the tree.
@private
# File lib/aws/s3/tree/leaf_node.rb, line 28 def initialize parent, member @parent = parent @member = member super() end
@return [false]
# File lib/aws/s3/tree/leaf_node.rb, line 49 def branch? false end
# File lib/aws/s3/tree/leaf_node.rb, line 87 def inspect "<#{self.class}:#{@member.bucket.name}:#{key}>" end
@return [String] the key this leaf node represents.
# File lib/aws/s3/tree/leaf_node.rb, line 44 def key @member.key end
@return [true]
# File lib/aws/s3/tree/leaf_node.rb, line 54 def leaf? true end
@return [S3Object] The object this leaf node represents.
# File lib/aws/s3/tree/leaf_node.rb, line 59 def object if @member.kind_of?(S3Object) @member else @member.object end end
@return [MultipartUpload] Returns the object version this leaf
node represents.
# File lib/aws/s3/tree/leaf_node.rb, line 79 def upload if @member.kind_of?(MultipartUpload) @member else raise "This leaf does not represent an upload" end end
@return [ObjectVersion] Returns the object version this leaf
node represents.
# File lib/aws/s3/tree/leaf_node.rb, line 69 def version if @member.kind_of?(ObjectVersion) @member else raise "This leaf does not represent a version" end end