Sha256: 810b2ed32cb351f7a78b7a6be46a3e4e14991002d6dd3294bcc65d2b7464de7e

Contents?: true

Size: 1.19 KB

Versions: 14

Compression:

Stored size: 1.19 KB

Contents

module Rugged
  class Tag < Rugged::Reference
    GPG_SIGNATURE_PREFIX = "-----BEGIN PGP SIGNATURE-----".freeze

    def self.extract_signature(repo, oid, prefix=GPG_SIGNATURE_PREFIX)
      object = repo.read(oid)

      unless object.type == :tag
        raise GitRPC::InvalidObject, "Invalid object type #{object.type}, expected tag"
      end

      if index = object.data.index(prefix)
        [
          object.data.byteslice(index..-1),
          object.data.byteslice(0...index)
        ]
      else
        nil
      end
    end

    def name
      canonical_name.sub(%r{^refs/tags/}, "")
    end

    class Annotation
      def self.prettify_message(msg, strip_comments = true)
        Rugged::prettify_message(msg, strip_comments)
      end

      def inspect
        "#<Rugged::Tag::Annotation:#{object_id} {name: #{name.inspect}, message: #{message.inspect}, target: #{target.inspect}>"
      end

      def to_hash
        {
          :message => message,
          :name => name,
          :target => target,
          :tagger => tagger,
        }
      end

      def modify(new_args, force=True)
        args = self.to_hash.merge(new_args)
        Tag.create(args, force)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rugged-0.24.6.1 lib/rugged/tag.rb
rugged-0.24.5 lib/rugged/tag.rb
rugged-0.25.0b10 lib/rugged/tag.rb
rugged-0.25.0b9 lib/rugged/tag.rb
rugged-0.25.0b8 lib/rugged/tag.rb
rugged-0.25.0b7 lib/rugged/tag.rb
rugged-0.25.0b6 lib/rugged/tag.rb
rugged-0.25.0b5 lib/rugged/tag.rb
rugged-0.25.0b4 lib/rugged/tag.rb
rugged-0.25.0b3 lib/rugged/tag.rb
rugged-0.25.0b2 lib/rugged/tag.rb
rugged-0.25.0b1 lib/rugged/tag.rb
rugged-0.24.0 lib/rugged/tag.rb
rugged-0.24.0b14 lib/rugged/tag.rb