Sha256: 8b5f1fa5078880e044538fe371bf3b066cbd51dfbd55368117f516fbf2c140db

Contents?: true

Size: 584 Bytes

Versions: 1

Compression:

Stored size: 584 Bytes

Contents

module Regrit
  class Ref
    def initialize(repo, ref)
      @repo = repo
      @commit, @full_name = ref.split(/\t/)
      @type, @name = @full_name.scan(%r#refs/([^/]+)/(.+)#).first || [nil, @full_name]
      raise InvalidRefsFormat.new(ref) if @name.nil?
    end

    attr_reader :commit, :full_name, :name, :type

    def tag?
      type == 'tags'
    end

    def branch?
      type == 'heads'
    end

    def abbrev_commit
      commit[0...7]
    end

    def match?(named)
      name == named || full_name == named || [type,name].compact.join('/') == named
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
regrit-0.2.1 lib/regrit/ref.rb