class Mercurial::BlameFactory

This class represents a factory for {Mercurial::Blame Blame} instances.

Attributes

repository[R]

Instance of a {Mercurial::Repository Repository}.

Public Class Methods

new(repository) click to toggle source
# File lib/mercurial-ruby/factories/blame_factory.rb, line 12
def initialize(repository)
  @repository = repository
end

Public Instance Methods

for_path(path, revision=nil, cmd_options={}) click to toggle source

Finds a blame for a specified file path at a specified revision. Returns an instance of {Mercurial::Blame Blame}.

Omit revision if you want the latest blame.

Example:

repository.blames.for_path('some-fancy-directory/all-blame-is-on-me.rb')
# File lib/mercurial-ruby/factories/blame_factory.rb, line 24
def for_path(path, revision=nil, cmd_options={})
  revision ||= 'tip'
  build do
    hg(["blame ? -ucl -r ?", path, revision], cmd_options)
  end
end

Private Instance Methods

build(data=nil, &block) click to toggle source
# File lib/mercurial-ruby/factories/blame_factory.rb, line 33
def build(data=nil, &block)
  data ||= block.call
  Mercurial::Blame.new(repository, data)
end