Class | Grit::GitRuby::Tag |
In: |
lib/grit/git-ruby/git_object.rb
lib/grit/git-ruby/object.rb |
Parent: | GitObject |
message | [RW] | |
message | [RW] | |
object | [RW] | |
object | [RW] | |
tag | [RW] | |
tag | [RW] | |
tagger | [RW] | |
tagger | [RW] | |
type | [RW] | |
type | [RW] |
# File lib/grit/git-ruby/git_object.rb, line 295 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) else warn "unknown header '%s' in tag" % \ [key, rawobject.sha1.unpack("H*")[0]] end end if not object && type && tag && tagger raise RuntimeError, "incomplete raw tag object" end new(object, type, tag, tagger, message, repository) end
# File lib/grit/git-ruby/object.rb, line 279 def self.from_raw(rawobject, repository=nil) headers, message = rawobject.content.split(/\n\n/, 2) headers = headers.split(/\n/).map { |header| header.split(/ /, 2) } 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) else warn "unknown header '%s' in tag" % \ [key, rawobject.sha1.unpack("H*")[0]] end if not object && type && tag && tagger raise RuntimeError, "incomplete raw tag object" end end new(object, type, tag, tagger, repository) end
# File lib/grit/git-ruby/object.rb, line 306 def initialize(object, type, tag, tagger, repository=nil) @object = object @type = type @tag = tag @tagger = tagger @repository = repository end
# File lib/grit/git-ruby/git_object.rb, line 330 def initialize(object, type, tag, tagger, message, repository=nil) @object = object @type = type @tag = tag @tagger = tagger @repository = repository @message = message end
# File lib/grit/git-ruby/git_object.rb, line 339 def raw_content "object %s\ntype %s\ntag %s\ntagger %s\n\n" % \ [@object, @type, @tag, @tagger] + @message end