class GitObjectBrowser::Dumper::PackedObjectsDumper
Public Class Methods
new(root, outdir)
click to toggle source
# File lib/git-object-browser/dumper/packed_objects_dumper.rb, line 8 def initialize(root, outdir) @root = root @outdir = outdir end
Public Instance Methods
dump(path, index)
click to toggle source
# File lib/git-object-browser/dumper/packed_objects_dumper.rb, line 13 def dump(path, index) File.open(File.join(@root, path)) do |input| index.entries.each do |entry| dump_packed_object(index, input, entry[:offset], path) end end end
dump_packed_object(index, input, offset, path)
click to toggle source
# File lib/git-object-browser/dumper/packed_objects_dumper.rb, line 21 def dump_packed_object(index, input, offset, path) obj = GitObjectBrowser::Models::PackedObject.new(index, input).parse(offset) wrapped = GitObjectBrowser::Models::WrappedObject.new(nil, path, obj) ostr = "0000#{ offset }" outfile = File.join(@outdir, path, ostr[-2,2], ostr[-4,2], "#{ offset }.json") FileUtils.mkdir_p(File.dirname(outfile)) File.open(outfile, 'w') do |output| output << JSON.pretty_generate(wrapped.to_hash) end end