Class: Gollum::Git::Tree

Inherits:
Object
  • Object
show all
Defined in:
lib/rugged_adapter/git_layer_rugged.rb

Instance Method Summary collapse

Constructor Details

#initialize(tree) ⇒ Tree

Returns a new instance of Tree.



618
619
620
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 618

def initialize(tree)
  @tree = tree
end

Instance Method Details

#/(file) ⇒ Object



634
635
636
637
638
639
640
641
642
643
644
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 634

def /(file)
  return self if file == '/'
  begin
  obj = @tree.path(file)
  rescue Rugged::TreeError
    return nil
  end
  return nil if obj.nil?
  obj = @tree.owner.lookup(obj[:oid])
  obj.is_a?(Rugged::Tree) ? Gollum::Git::Tree.new(obj) : Gollum::Git::Blob.new(obj)
end

#[](i) ⇒ Object



626
627
628
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 626

def [](i)
  @tree[i]
end

#blobsObject



646
647
648
649
650
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 646

def blobs
  blobs = []
  @tree.each_blob {|blob| blobs << Gollum::Git::Blob.new(@tree.owner.lookup(blob[:oid]), blob) }
  blobs
end

#idObject



630
631
632
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 630

def id
  @tree.oid
end

#keysObject



622
623
624
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 622

def keys
  @tree.map{|entry| entry[:name]}
end