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.



655
656
657
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 655

def initialize(tree)
  @tree = tree
end

Instance Method Details

#/(file) ⇒ Object



671
672
673
674
675
676
677
678
679
680
681
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 671

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



663
664
665
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 663

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

#blobsObject



683
684
685
686
687
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 683

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

#idObject



667
668
669
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 667

def id
  @tree.oid
end

#keysObject



659
660
661
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 659

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