class Git::Object::Tree
Public Class Methods
new(base, sha, mode = nil)
click to toggle source
Calls superclass method
Git::Object::AbstractObject::new
# File lib/git/object.rb, line 99 def initialize(base, sha, mode = nil) super(base, sha) @mode = mode @trees = nil @blobs = nil end
Public Instance Methods
blobs()
click to toggle source
# File lib/git/object.rb, line 110 def blobs @blobs ||= check_tree[:blobs] end
Also aliased as: files
children()
click to toggle source
# File lib/git/object.rb, line 106 def children blobs.merge(subtrees) end
depth()
click to toggle source
# File lib/git/object.rb, line 125 def depth @base.lib.tree_depth(@objectish) end
full_tree()
click to toggle source
# File lib/git/object.rb, line 121 def full_tree @base.lib.full_tree(@objectish) end
tree?()
click to toggle source
# File lib/git/object.rb, line 129 def tree? true end
trees()
click to toggle source
# File lib/git/object.rb, line 115 def trees @trees ||= check_tree[:trees] end
Also aliased as: subtrees, subdirectories
Private Instance Methods
check_tree()
click to toggle source
actually run the git command
# File lib/git/object.rb, line 136 def check_tree @trees = {} @blobs = {} data = @base.lib.ls_tree(@objectish) data['tree'].each do |key, tree| @trees[key] = Git::Object::Tree.new(@base, tree[:sha], tree[:mode]) end data['blob'].each do |key, blob| @blobs[key] = Git::Object::Blob.new(@base, blob[:sha], blob[:mode]) end { :trees => @trees, :blobs => @blobs } end