Class Grit::GitRuby::UserInfo
In: lib/grit/git-ruby/git_object.rb
lib/grit/git-ruby/object.rb
Parent: Object

class for author/committer/tagger lines

Methods

new   new   to_s   to_s  

Attributes

date  [RW] 
date  [RW] 
email  [RW] 
email  [RW] 
name  [RW] 
name  [RW] 
offset  [RW] 
offset  [RW] 

Public Class methods

[Source]

# File lib/grit/git-ruby/git_object.rb, line 23
    def initialize(str)
      @email = ''
      @date = Time.now
      @offset = 0
      
      m = /^(.*?) <(.*)> (\d+) ([+-])0*(\d+?)$/.match(str)
      if !m
        case str
        when /<.+>/
          m, @name, @email = *str.match(/(.*) <(.+?)>/)
        else
          @name = str
        end
      else
        @name = m[1]
        @email = m[2]
        @date = Time.at(Integer(m[3]))
        @offset = (m[4] == "-" ? -1 : 1)*Integer(m[5])
      end
    end

[Source]

# File lib/grit/git-ruby/object.rb, line 23
    def initialize(str)
      m = /^(.*?) <(.*)> (\d+) ([+-])0*(\d+?)$/.match(str)
      if !m
        raise RuntimeError, "invalid header '%s' in commit" % str
      end
      @name = m[1]
      @email = m[2]
      @date = Time.at(Integer(m[3]))
      @offset = (m[4] == "-" ? -1 : 1)*Integer(m[5])
    end

Public Instance methods

[Source]

# File lib/grit/git-ruby/git_object.rb, line 44
    def to_s
      "%s <%s> %s %+05d" % [@name, @email, @date.to_i, @offset]
    end

[Source]

# File lib/grit/git-ruby/object.rb, line 34
    def to_s
      "%s <%s> %s %+05d" % [@name, @email, @date.to_i, @offset]
    end

[Validate]