Sha256: 8cdb81c7050befe6003a97211c4683d1f112714a87ea4d4f3ebb07065fcfe04c

Contents?: true

Size: 595 Bytes

Versions: 2

Compression:

Stored size: 595 Bytes

Contents

require "git"

class LastCommit
  def initialize(git_repository_path, branch)
    self.git_repository_path = git_repository_path
    self.branch              = branch
  end

  def message
    last_commit.message
  end

  def sha
    last_commit.sha
  end

  private

  attr_accessor :git_repository_path, :branch

  def git_repository
    @git_repository ||= Git.open(git_repository_path)
  end

  def requested_branch
    @requested_branch ||= git_repository.branches[branch] or
      raise ArgumentError, "branch does not exist"
  end

  def last_commit
    requested_branch.gcommit
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
last_commit-0.0.2 lib/last_commit.rb
last_commit-0.0.1 lib/last_commit.rb