Module: MultiGit::TreeEntry::Base

Extended by:
Utils::AbstractMethods
Includes:
Walkable
Included in:
MultiGit::TreeEntry, Builder
Defined in:
lib/multi_git/tree_entry.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Utils::AbstractMethods

abstract

Methods included from Walkable

#walk

Instance Attribute Details

#nameString (readonly)

Returns:

  • (String)


17
18
19
# File 'lib/multi_git/tree_entry.rb', line 17

def name
  @name
end

#parentMultiGit::Tree::Base? (readonly)

Returns:



19
20
21
# File 'lib/multi_git/tree_entry.rb', line 19

def parent
  @parent
end

Instance Method Details

#modeInteger

This method is abstract.

Returns the git-internal entry mode.

Returns:

  • (Integer)

    the git-internal entry mode



26
# File 'lib/multi_git/tree_entry.rb', line 26

abstract :mode

#pathString

Returns the full path to this entry.

Examples:

tree = MultiGit::Tree::Builder.new do
  directory "a" do
    file "b", "content"
  end
end
tree['a/b'].path #=> eql 'a/b'

Returns:

  • (String)


52
53
54
55
56
57
58
59
60
# File 'lib/multi_git/tree_entry.rb', line 52

def path
  @path ||= begin
              if parent.respond_to? :path
                [parent.path,SLASH, name].join
              else
                name
              end
            end
end

#with_parent(parent, name = self.name) ⇒ MultiGit::TreeEntry

Parameters:

Returns:



37
38
39
# File 'lib/multi_git/tree_entry.rb', line 37

def with_parent(parent, name = self.name)
  self.class.new(parent, name, @object)
end