class R10K::Git::Rugged::BaseRepository
Attributes
path[R]
@return [Pathname] The path to this repository. @note The `@path` instance variable must be set by inheriting classes on instantiation.
Public Instance Methods
branches()
click to toggle source
# File lib/r10k/git/rugged/base_repository.rb, line 27 def branches with_repo { |repo| repo.branches.each_name(:local).to_a } end
ref_type(pattern)
click to toggle source
@return [Symbol] The type of the given ref, one of :branch, :tag, :commit, or :unknown
# File lib/r10k/git/rugged/base_repository.rb, line 36 def ref_type(pattern) if branches.include? pattern :branch elsif tags.include? pattern :tag elsif resolve(pattern) :commit else :unknown end end
resolve(pattern)
click to toggle source
# File lib/r10k/git/rugged/base_repository.rb, line 13 def resolve(pattern) object = with_repo { |repo| repo.rev_parse(pattern) } case object when NilClass nil when ::Rugged::Tag, ::Rugged::Tag::Annotation object.target.oid else object.oid end rescue ::Rugged::ReferenceError nil end
Private Instance Methods
credentials()
click to toggle source
Generate a lambda that can create a credentials object for the authentication type in question.
@note The Rugged API expects an object that responds to call; the
Credentials subclasses implement #call returning self so that the Credentials object can be used, or a Proc that returns a Credentials object can be used.
@api private
@return [Proc]
# File lib/r10k/git/rugged/base_repository.rb, line 68 def credentials R10K::Git::Rugged::Credentials.new(self) end
report_transfer(results, remote)
click to toggle source
# File lib/r10k/git/rugged/base_repository.rb, line 72 def report_transfer(results, remote) logger.debug2 { "Transferred #{results[:total_objects]} objects (#{results[:received_bytes]} bytes) from '#{remote}' into #{git_dir}'" } nil end
with_repo() { |_rugged_repo| ... }
click to toggle source
# File lib/r10k/git/rugged/base_repository.rb, line 50 def with_repo yield @_rugged_repo if @_rugged_repo ensure @_rugged_repo.close if @_rugged_repo end