Class: Gitlab::Git::Ref
- Inherits:
-
Object
- Object
- Gitlab::Git::Ref
- Includes:
- EncodingHelper
- Defined in:
- lib/gitlab_git/ref.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Branch or tag name without “refs/tags|heads” prefix.
-
#target ⇒ Object
readonly
Target sha.
Class Method Summary collapse
-
.extract_branch_name(str) ⇒ Object
Extract branch name from full ref path.
Instance Method Summary collapse
-
#initialize(name, target) ⇒ Ref
constructor
A new instance of Ref.
Methods included from EncodingHelper
Constructor Details
#initialize(name, target) ⇒ Ref
Returns a new instance of Ref.
23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/gitlab_git/ref.rb', line 23 def initialize(name, target) encode! name @name = name.gsub(/\Arefs\/(tags|heads)\//, '') @target = if target.respond_to?(:oid) target.oid elsif target.respond_to?(:name) target.name elsif target.is_a? String target else nil end end |
Instance Attribute Details
#name ⇒ Object (readonly)
Branch or tag name without “refs/tags|heads” prefix
8 9 10 |
# File 'lib/gitlab_git/ref.rb', line 8 def name @name end |
#target ⇒ Object (readonly)
Target sha. Usually it is commit sha but in case when tag reference on other tag it can be tag sha
13 14 15 |
# File 'lib/gitlab_git/ref.rb', line 13 def target @target end |
Class Method Details
.extract_branch_name(str) ⇒ Object
Extract branch name from full ref path
Ex.
Ref.extract_branch_name('refs/heads/master') #=> 'master'
19 20 21 |
# File 'lib/gitlab_git/ref.rb', line 19 def self.extract_branch_name(str) str.gsub(/\Arefs\/heads\//, '') end |