Class: Gollum::Git::Tree
- Inherits:
-
Object
- Object
- Gollum::Git::Tree
- Defined in:
- lib/rugged_adapter/git_layer_rugged.rb
Class Method Summary collapse
Instance Method Summary collapse
- #/(file) ⇒ Object
- #[](i) ⇒ Object
- #blobs ⇒ Object
- #find_blob(&block) ⇒ Object
- #id ⇒ Object
-
#initialize(tree) ⇒ Tree
constructor
A new instance of Tree.
- #keys ⇒ Object
Constructor Details
#initialize(tree) ⇒ Tree
Returns a new instance of Tree.
698 699 700 |
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 698 def initialize(tree) @tree = tree end |
Class Method Details
.tree_entry_from_rugged_hash(entry, root = '') ⇒ Object
688 689 690 691 692 693 694 695 696 |
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 688 def self.tree_entry_from_rugged_hash(entry, root = '') { sha: entry[:oid], mode: entry[:filemode], type: entry[:type].to_s, name: entry[:name], path: "#{root}#{entry[:name]}" } end |
Instance Method Details
#/(file) ⇒ Object
714 715 716 717 718 719 720 721 722 723 724 |
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 714 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
706 707 708 |
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 706 def [](i) @tree[i] end |
#blobs ⇒ Object
726 727 728 729 730 |
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 726 def blobs blobs = [] @tree.each_blob {|blob| blobs << blob_for_tree_entry(blob) } blobs end |
#find_blob(&block) ⇒ Object
732 733 734 735 736 |
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 732 def find_blob(&block) return nil unless block_given? blob = @tree.each_blob.find {|blob| yield blob[:name] } blob ? blob_for_tree_entry(blob) : nil end |
#id ⇒ Object
710 711 712 |
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 710 def id @tree.oid end |
#keys ⇒ Object
702 703 704 |
# File 'lib/rugged_adapter/git_layer_rugged.rb', line 702 def keys @tree.map{|entry| entry[:name]} end |