class MSS::S3::Tree::LeafNode
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
Attributes
member[R]
parent[R]
@return [Tree, BranchNode] The parent node in the tree.
Public Class Methods
new(parent, member)
click to toggle source
@api private
Calls superclass method
# File lib/mss/s3/tree/leaf_node.rb, line 27 def initialize parent, member @parent = parent @member = member super() end
Public Instance Methods
branch?()
click to toggle source
@return [false]
# File lib/mss/s3/tree/leaf_node.rb, line 48 def branch? false end
inspect()
click to toggle source
# File lib/mss/s3/tree/leaf_node.rb, line 86 def inspect "<#{self.class}:#{@member.bucket.name}:#{key}>" end
key()
click to toggle source
@return [String] the key this leaf node represents.
# File lib/mss/s3/tree/leaf_node.rb, line 43 def key @member.key end
leaf?()
click to toggle source
@return [true]
# File lib/mss/s3/tree/leaf_node.rb, line 53 def leaf? true end
object()
click to toggle source
@return [S3Object] The object this leaf node represents.
# File lib/mss/s3/tree/leaf_node.rb, line 58 def object if @member.kind_of?(S3Object) @member else @member.object end end
upload()
click to toggle source
@return [MultipartUpload] Returns the object version this leaf
node represents.
# File lib/mss/s3/tree/leaf_node.rb, line 78 def upload if @member.kind_of?(MultipartUpload) @member else raise "This leaf does not represent an upload" end end
version()
click to toggle source
@return [ObjectVersion] Returns the object version this leaf
node represents.
# File lib/mss/s3/tree/leaf_node.rb, line 68 def version if @member.kind_of?(ObjectVersion) @member else raise "This leaf does not represent a version" end end