Class: GitObjectBrowser::Models::WrappedObject
- Inherits:
-
Hash
- Object
- Hash
- GitObjectBrowser::Models::WrappedObject
- Defined in:
- lib/git-object-browser/models/wrapped_object.rb
Instance Method Summary collapse
-
#initialize(root, path, obj) ⇒ WrappedObject
constructor
A new instance of WrappedObject.
Constructor Details
#initialize(root, path, obj) ⇒ WrappedObject
Returns a new instance of WrappedObject.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/git-object-browser/models/wrapped_object.rb', line 8 def initialize(root, path, obj) super() self[:type] = { Directory => 'directory', PlainFile => 'file', Index => 'index', GitObject => 'object', Ref => 'ref', Reflog => 'reflog', PackIndex => 'pack_index', PackFile => 'pack_file', PackedObject => 'packed_object', InfoRefs => 'info_refs', PackedRefs => 'packed_refs', }[obj.class] self[:object] = obj.to_hash self[:root] = root self[:path] = path self[:working_dir] = File.basename(File.dirname(root.to_s)) case(self[:type]) when 'packed_object' sha1 = self[:object][:object][:sha1] unpacked_file = File.join(root.to_s, 'objects', sha1[0..1], sha1[2..-1]).to_s self[:unpacked] = File.exist?(unpacked_file) when 'pack_index' self.merge!(obj.page_data) end end |