Sha256: 4994cc7e7aaba429ef31d7cab5597b6062ada5d6051bad1f42be0a03795ebaca

Contents?: true

Size: 735 Bytes

Versions: 1

Compression:

Stored size: 735 Bytes

Contents

module GitObjectBrowser

  module Models

    class PackedRefs
      def initialize(input)
        @entries = []
        while (line = input.gets) do
          next if line =~ /\A\s*#/
          next unless line =~ /(\^)?([0-9a-f]{40})\s*(.*)/
          sha1 = $2
          ref  = $3
          if $1
            entry = @entries.last
            entry[:tag_sha1] = sha1 if entry
          else
            entry = {}
            entry[:sha1] = sha1
            entry[:ref]  = ref
            @entries << entry
          end
        end
      end

      def to_hash
        return {
          :entries => @entries
        }
      end

      def self.path?(relpath)
        return relpath == "packed-refs"
      end

    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
git-object-browser-0.0.2 lib/git-object-browser/models/packed_refs.rb