Class: Grit::GitRuby::GitObject
- Inherits:
-
Object
- Object
- Grit::GitRuby::GitObject
- Defined in:
- lib/grit/git-ruby/git_object.rb
Overview
base class for all git objects (blob, tree, commit, tag)
Instance Attribute Summary collapse
-
#repository ⇒ Object
Returns the value of attribute repository.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize ⇒ GitObject
constructor
A new instance of GitObject.
- #raw_content ⇒ Object
- #sha1 ⇒ Object
- #type ⇒ Object
Constructor Details
#initialize ⇒ GitObject
Returns a new instance of GitObject.
68 69 70 |
# File 'lib/grit/git-ruby/git_object.rb', line 68 def initialize raise NotImplemented, "abstract class" end |
Instance Attribute Details
#repository ⇒ Object
Returns the value of attribute repository.
51 52 53 |
# File 'lib/grit/git-ruby/git_object.rb', line 51 def repository @repository end |
Class Method Details
.from_raw(rawobject, repository = nil) ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/grit/git-ruby/git_object.rb', line 53 def GitObject.from_raw(rawobject, repository = nil) case rawobject.type when :blob return Blob.from_raw(rawobject, repository) when :tree return Tree.from_raw(rawobject, repository) when :commit return Commit.from_raw(rawobject, repository) when :tag return Tag.from_raw(rawobject, repository) else raise RuntimeError, "got invalid object-type" end end |
Instance Method Details
#raw_content ⇒ Object
76 77 78 |
# File 'lib/grit/git-ruby/git_object.rb', line 76 def raw_content raise NotImplemented, "abstract class" end |
#sha1 ⇒ Object
80 81 82 83 84 |
# File 'lib/grit/git-ruby/git_object.rb', line 80 def sha1 Digest::SHA1.hexdigest("%s %d\0" % \ [self.type, self.raw_content.length] + \ self.raw_content) end |
#type ⇒ Object
72 73 74 |
# File 'lib/grit/git-ruby/git_object.rb', line 72 def type raise NotImplemented, "abstract class" end |