# File lib/git/object.rb, line 100 def initialize(base, sha, mode = nil) super(base, sha) @mode = mode end
# File lib/git/object.rb, line 109 def blobs check_tree @blobs end
# File lib/git/object.rb, line 105 def children blobs.merge(subtrees) end
# File lib/git/object.rb, line 126 def depth @base.lib.tree_depth(@objectish) end
# File lib/git/object.rb, line 122 def full_tree @base.lib.full_tree(@objectish) end
# File lib/git/object.rb, line 130 def tree? true end
# File lib/git/object.rb, line 115 def trees check_tree @trees end
actually run the git command
# File lib/git/object.rb, line 137 def check_tree unless @trees @trees = {} @blobs = {} data = @base.lib.ls_tree(@objectish) data['tree'].each { |k, d| @trees[k] = Git::Object::Tree.new(@base, d[:sha], d[:mode]) } data['blob'].each { |k, d| @blobs[k] = Git::Object::Blob.new(@base, d[:sha], d[:mode]) } end end