# File lib/grit/git-ruby/object.rb, line 105 def initialize(mode, filename, sha1o) @mode = 0 mode.each_byte do |i| @mode = (@mode << 3) | (i-'0'[0]) end @name = filename @sha1 = sha1o if ![S_IFLNK, S_IFDIR, S_IFREG].include?(@mode & S_IFMT) raise RuntimeError, "unknown type for directory entry" end end
# File lib/grit/git-ruby/object.rb, line 154 def format_mode "%06o" % @mode end
# File lib/grit/git-ruby/object.rb, line 143 def format_type case type when :link 'link' when :directory 'tree' when :file 'blob' end end
# File lib/grit/git-ruby/object.rb, line 158 def raw "%o %s\00%%s" % [@mode, @name, [@sha1].pack("H*")] end
# File lib/grit/git-ruby/object.rb, line 117 def type case @mode & S_IFMT when S_IFLNK @type = :link when S_IFDIR @type = :directory when S_IFREG @type = :file else raise RuntimeError, "unknown type for directory entry" end end
# File lib/grit/git-ruby/object.rb, line 130 def type=(type) case @type when :link @mode = (@mode & ~S_IFMT) | S_IFLNK when :directory @mode = (@mode & ~S_IFMT) | S_IFDIR when :file @mode = (@mode & ~S_IFMT) | S_IFREG else raise RuntimeError, "invalid type" end end
Generated with the Darkfish Rdoc Generator 2.