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.



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

def initialize(tree)
  @tree = tree
end

Instance Method Details

#/(file) ⇒ Object



637
638
639
640
641
642
643
644
645
646
647
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 637

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



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

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

#blobsObject



649
650
651
652
653
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 649

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

#idObject



633
634
635
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 633

def id
  @tree.oid
end

#keysObject



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

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