Sha256: 2461bf150c0654ebb62aa5a0d931d9dfd5b13579d6c966cf2361f7faf755ea2a

Contents?: true

Size: 787 Bytes

Versions: 8

Compression:

Stored size: 787 Bytes

Contents

module Gitrb

  class Tag < GitObject
    attr_accessor :object, :tagtype, :tagger, :message

    def initialize(options = {})
      super(options)
      parse(options[:data]) if options[:data]
    end

    def ==(other)
      Tag === other && id == other.id
    end

    def parse(data)
      headers, @message = data.split("\n\n", 2)
      repository.set_encoding(@message)

      headers.split("\n").each do |header|
        key, value = header.split(' ', 2)
        case key
        when 'type'
          @tagtype = value
        when 'object'
          @object = Reference.new(:repository => repository, :id => repository.set_encoding(value))
        when 'tagger'
          @tagger = User.parse(repository.set_encoding(value))
        end
      end

      self
    end

  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
gitrb-0.1.6 lib/gitrb/tag.rb
gitrb-0.1.5 lib/gitrb/tag.rb
gitrb-0.1.4 lib/gitrb/tag.rb
gitrb-0.1.3 lib/gitrb/tag.rb
gitrb-0.1.2 lib/gitrb/tag.rb
gitrb-0.1.1 lib/gitrb/tag.rb
gitrb-0.1.0 lib/gitrb/tag.rb
gitrb-0.0.9 lib/gitrb/tag.rb