class Git::Object::Tag

Attributes

name[RW]

Public Class Methods

new(base, sha, name) click to toggle source
Calls superclass method Git::Object::AbstractObject::new
# File lib/git/object.rb, line 249
def initialize(base, sha, name)
  super(base, sha)
  @name = name
  @annotated = nil
  @loaded = false
end

Public Instance Methods

annotated?() click to toggle source
# File lib/git/object.rb, line 256
def annotated?
  @annotated ||= (@base.lib.object_type(self.name) == 'tag')
end
message() click to toggle source
# File lib/git/object.rb, line 260
def message
  check_tag()
  return @message
end
tag?() click to toggle source
# File lib/git/object.rb, line 265
def tag?
  true
end
tagger() click to toggle source
# File lib/git/object.rb, line 269
def tagger
  check_tag()
  return @tagger
end

Private Instance Methods

check_tag() click to toggle source
# File lib/git/object.rb, line 276
def check_tag
  return if @loaded

  if !self.annotated?
    @message = @tagger = nil
  else
    tdata = @base.lib.tag_data(@name)
    @message = tdata['message'].chomp
    @tagger = Git::Author.new(tdata['tagger'])
  end

  @loaded = true
end