class Grit::GitRuby::Tag

Attributes

message[RW]
object[RW]
object_type[RW]
tag[RW]
tagger[RW]
type[W]

Public Class Methods

from_raw(rawobject, repository=nil) click to toggle source
# File lib/grit/git-ruby/git_object.rb, line 299
def self.from_raw(rawobject, repository=nil)

  headers, message = rawobject.content.split(/\n\n/, 2)
  headers = headers.split(/\n/).map { |header| header.split(' ', 2) }

  object = ''
  type = ''
  tag = ''
  tagger = ''

  headers.each do |key, value|
    case key
    when "object"
      object = value
    when "type"
      if !["blob", "tree", "commit", "tag"].include?(value)
        raise RuntimeError, "invalid type in tag"
      end
      type = value.to_sym
    when "tag"
      tag = value
    when "tagger"
      tagger = UserInfo.new(value)
    end
  end

  if not object && type && tag && tagger
    raise RuntimeError, "incomplete raw tag object"
  end
  new(object, type, tag, tagger, message, repository)
end
new(object, type, tag, tagger, message, repository=nil) click to toggle source
# File lib/grit/git-ruby/git_object.rb, line 331
def initialize(object, type, tag, tagger, message, repository=nil)
  @object = object
  @type = type
  @object_type = type
  @tag = tag
  @tagger = tagger
  @repository = repository
  @message = message
end

Public Instance Methods

raw_content() click to toggle source
# File lib/grit/git-ruby/git_object.rb, line 341
def raw_content
  ("object %s\ntype %s\ntag %s\ntagger %s\n\n" % \
    [@object, @type, @tag, @tagger]) + @message.to_s
end
type() click to toggle source
# File lib/grit/git-ruby/git_object.rb, line 346
def type
  :tag
end