class GitXplorer::GitObject::File

Public Class Methods

new(name, parent) click to toggle source
Calls superclass method GitXplorer::GitObject::new
# File lib/git_xplorer/git_object/file.rb, line 41
def initialize(name, parent)
    super(name, parent)
end

Public Instance Methods

children() click to toggle source
# File lib/git_xplorer/git_object/file.rb, line 2
def children
    if (@kids.nil?)
        # Initialize
        @kids = Array.new

        # Create git command
        cmd = [
            "git log --date=format-local:\"%F_%I:%M:%S_%P\"",
            "--diff-filter=AC",
            "--full-history",
            "--pretty=tformat:\"{{%H}}{{%s}}{{%cd}}{{%an}}\"",
            "--",
            absolute_path
        ].join(" ")

        # Loop thru results creating a revision object for each
        %x(#{cmd}).split("\n").each do |line|
            line.match(/{{(.+)}}{{(.+)}}{{(.+)}}{{(.+)}}/) do |m|
                @kids.push(
                    GitXplorer::GitObject::Revision.new(
                        m[1],
                        self,
                        m[2],
                        m[3],
                        m[4]
                    )
                )
            end
        end
    end

    return @kids
end
desc() click to toggle source
# File lib/git_xplorer/git_object/file.rb, line 36
def desc
    return "#{newest.name} #{newest.date}" if (newest)
    return nil
end
newest() click to toggle source
# File lib/git_xplorer/git_object/file.rb, line 45
def newest
    return children[0]
end