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.



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

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

Instance Method Details

#blobs Also known as: files



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

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

#children



162
163
164
# File 'lib/git/object.rb', line 162

def children
  blobs.merge(subtrees)
end

#depth



181
182
183
# File 'lib/git/object.rb', line 181

def depth
  object_repository.tree_depth(@objectish)
end

#full_tree



177
178
179
# File 'lib/git/object.rb', line 177

def full_tree
  object_repository.full_tree(@objectish)
end

#tree?Boolean

Returns:

  • (Boolean)


185
186
187
# File 'lib/git/object.rb', line 185

def tree?
  true
end

#trees Also known as: subtrees, subdirectories



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

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