Class: Git::Object::Tree

Inherits:
AbstractObject show all
Defined in:
lib/git/object.rb

Overview

A Git tree object

Instance Attribute Summary

Attributes inherited from AbstractObject

#mode, #objectish, #size, #type

Instance Method Summary collapse

Methods inherited from AbstractObject

#archive, #blob?, #commit?, #contents, #contents_array, #diff, #grep, #log, #sha, #tag?, #to_s

Constructor Details

#initialize(base, sha, mode = nil) ⇒ Tree

Returns a new instance of Tree.



149
150
151
152
153
154
# File 'lib/git/object.rb', line 149

def initialize(base, sha, mode = nil)
  super(base, sha)
  @mode = mode
  @trees = nil
  @blobs = nil
end

Instance Method Details

#blobs Also known as: files



160
161
162
# File 'lib/git/object.rb', line 160

def blobs
  @blobs ||= check_tree[:blobs]
end

#children



156
157
158
# File 'lib/git/object.rb', line 156

def children
  blobs.merge(subtrees)
end

#depth



175
176
177
# File 'lib/git/object.rb', line 175

def depth
  object_repository.tree_depth(@objectish)
end

#full_tree



171
172
173
# File 'lib/git/object.rb', line 171

def full_tree
  object_repository.full_tree(@objectish)
end

#tree?Boolean

Returns:

  • (Boolean)


179
180
181
# File 'lib/git/object.rb', line 179

def tree?
  true
end

#trees Also known as: subtrees, subdirectories



165
166
167
# File 'lib/git/object.rb', line 165

def trees
  @trees ||= check_tree[:trees]
end