Class: Grit::GitRuby::Tree
- Defined in:
- lib/grit/lib/grit/git-ruby/object.rb,
lib/grit/lib/grit/git-ruby/git_object.rb
Instance Attribute Summary collapse
-
#entry ⇒ Object
Returns the value of attribute entry.
Attributes inherited from GitObject
Class Method Summary collapse
Instance Method Summary collapse
- #actual_raw ⇒ Object
-
#initialize(entries = [], repository = nil) ⇒ Tree
constructor
A new instance of Tree.
- #raw_content ⇒ Object
- #type ⇒ Object
Methods inherited from GitObject
Constructor Details
#initialize(entries = [], repository = nil) ⇒ Tree
Returns a new instance of Tree.
191 192 193 194 |
# File 'lib/grit/lib/grit/git-ruby/object.rb', line 191 def initialize(entries=[], repository = nil) @entry = entries @repository = repository end |
Instance Attribute Details
#entry ⇒ Object
Returns the value of attribute entry.
174 175 176 |
# File 'lib/grit/lib/grit/git-ruby/object.rb', line 174 def entry @entry end |
Class Method Details
.from_raw(rawobject, repository = nil) ⇒ Object
176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/grit/lib/grit/git-ruby/object.rb', line 176 def self.from_raw(rawobject, repository=nil) raw = StringIO.new(rawobject.content) entries = [] while !raw.eof? mode = Grit::GitRuby.read_bytes_until(raw, ' ') file_name = Grit::GitRuby.read_bytes_until(raw, "\0") raw_sha = raw.read(20) sha = raw_sha.unpack("H*").first entries << DirectoryEntry.new(mode, file_name, sha) end new(entries, repository) end |
Instance Method Details
#actual_raw ⇒ Object
206 207 208 |
# File 'lib/grit/lib/grit/git-ruby/object.rb', line 206 def actual_raw #@entry.collect { |e| e.raw.join(' '), e.name].join("\t") }.join("\n") end |
#raw_content ⇒ Object
200 201 202 203 204 |
# File 'lib/grit/lib/grit/git-ruby/object.rb', line 200 def raw_content # TODO: sort correctly #@entry.sort { |a,b| a.name <=> b.name }. @entry.collect { |e| [[e.format_mode, e.format_type, e.sha1].join(' '), e.name].join("\t") }.join("\n") end |
#type ⇒ Object
196 197 198 |
# File 'lib/grit/lib/grit/git-ruby/object.rb', line 196 def type :tree end |