class Git::Object::Tree
def blobs
def blobs @blobs ||= check_tree[:blobs] end
def check_tree
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
def children
def children blobs.merge(subtrees) end
def depth
def depth @base.lib.tree_depth(@objectish) end
def full_tree
def full_tree @base.lib.full_tree(@objectish) end
def initialize(base, sha, mode = nil)
def initialize(base, sha, mode = nil) super(base, sha) @mode = mode @trees = nil @blobs = nil end
def tree?
def tree? true end
def trees
def trees @trees ||= check_tree[:trees] end