Class: AWS::S3::Tree::LeafNode

Inherits:
Node
  • Object
show all
Defined in:
lib/aws/s3/tree/leaf_node.rb

Overview

Note:

Generally you do not need to create leaf nodes

Represents a leaf in an AWS::S3::Tree.

When enumerating nodes in an S3 tree, keys are yielded as leaf nodes (they have no children beneath them).

See Also:

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#membermixed (readonly)

Returns the object this leaf node represents.



41
42
43
# File 'lib/aws/s3/tree/leaf_node.rb', line 41

def member
  @member
end

#parentTree, BranchNode (readonly)



35
36
37
# File 'lib/aws/s3/tree/leaf_node.rb', line 35

def parent
  @parent
end

Instance Method Details

#branch?false



49
50
51
# File 'lib/aws/s3/tree/leaf_node.rb', line 49

def branch?
  false
end

#inspectObject



87
88
89
# File 'lib/aws/s3/tree/leaf_node.rb', line 87

def inspect
  "<#{self.class}:#{@member.bucket.name}:#{key}>"
end

#keyString



44
45
46
# File 'lib/aws/s3/tree/leaf_node.rb', line 44

def key
  @member.key
end

#leaf?true



54
55
56
# File 'lib/aws/s3/tree/leaf_node.rb', line 54

def leaf?
  true
end

#objectS3Object



59
60
61
62
63
64
65
# File 'lib/aws/s3/tree/leaf_node.rb', line 59

def object
  if @member.kind_of?(S3Object)
    @member
  else
    @member.object
  end
end

#uploadMultipartUpload



79
80
81
82
83
84
85
# 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

#versionObjectVersion



69
70
71
72
73
74
75
# 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