Sha256: 802bdde4f09bc5d0f555e5b7ffe5bde016025ffc45a096e7bbace84c018697b0

Contents?: true

Size: 887 Bytes

Versions: 18

Compression:

Stored size: 887 Bytes

Contents

module Gitlab
  module Git
    class Ref
      include EncodingHelper

      # Branch or tag name
      # without "refs/tags|heads" prefix
      attr_reader :name

      # Target sha.
      # Usually it is commit sha but in case
      # when tag reference on other tag it can be tag sha
      attr_reader :target

      # Extract branch name from full ref path
      #
      # Ex.
      #   Ref.extract_branch_name('refs/heads/master') #=> 'master'
      def self.extract_branch_name(str)
        str.gsub(/\Arefs\/heads\//, '')
      end

      def self.dereference_object(object)
        object = object.target while object.is_a?(Rugged::Tag::Annotation)

        object
      end

      def initialize(repository, name, target)
        encode! name
        @name = name.gsub(/\Arefs\/(tags|heads)\//, '')

        @target = Commit.find(repository, target)
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
gitlab_git-10.6.8 lib/gitlab_git/ref.rb
gitlab_git-10.6.7 lib/gitlab_git/ref.rb
gitlab_git-10.6.6 lib/gitlab_git/ref.rb
gitlab_git-10.6.5 lib/gitlab_git/ref.rb
gitlab_git-10.6.4 lib/gitlab_git/ref.rb
gitlab_git-10.6.3 lib/gitlab_git/ref.rb
gitlab_git-10.6.2 lib/gitlab_git/ref.rb
gitlab_git-10.6.1 lib/gitlab_git/ref.rb
gitlab_git-10.6.0 lib/gitlab_git/ref.rb
gitlab_git-10.5.0 lib/gitlab_git/ref.rb
gitlab_git-10.4.7 lib/gitlab_git/ref.rb
gitlab_git-10.4.6 lib/gitlab_git/ref.rb
gitlab_git-10.4.5 lib/gitlab_git/ref.rb
gitlab_git-10.4.4 lib/gitlab_git/ref.rb
gitlab_git-10.4.3 lib/gitlab_git/ref.rb
gitlab_git-10.4.2 lib/gitlab_git/ref.rb
gitlab_git-10.4.1 lib/gitlab_git/ref.rb
gitlab_git-10.4.0 lib/gitlab_git/ref.rb