Commit 38c8d090 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Merge branch 'move-has-ref-concern-to-ci' into 'master'

Move HasRef concern inside Ci namespace

See merge request gitlab-org/gitlab!27056
parents 3c983312 e2a902a9
......@@ -7,7 +7,7 @@ module Ci
include Ci::Metadatable
include Importable
include AfterCommitQueue
include HasRef
include Ci::HasRef
InvalidBridgeTypeError = Class.new(StandardError)
InvalidTransitionError = Class.new(StandardError)
......
......@@ -10,7 +10,7 @@ module Ci
include ObjectStorage::BackgroundMove
include Presentable
include Importable
include HasRef
include Ci::HasRef
include IgnorableColumns
BuildArchivedError = Class.new(StandardError)
......
......@@ -11,7 +11,7 @@ module Ci
include Gitlab::Utils::StrongMemoize
include AtomicInternalId
include EnumWithNil
include HasRef
include Ci::HasRef
include ShaAttribute
include FromUnion
include UpdatedAtFilterable
......
# frozen_string_literal: true
##
# We will disable `ref` and `sha` attributes in `Ci::Build` in the future
# and remove this module in favor of Ci::PipelineDelegator.
module Ci
module HasRef
extend ActiveSupport::Concern
def branch?
!tag? && !merge_request?
end
def git_ref
if branch?
Gitlab::Git::BRANCH_REF_PREFIX + ref.to_s
elsif tag?
Gitlab::Git::TAG_REF_PREFIX + ref.to_s
end
end
# A slugified version of the build ref, suitable for inclusion in URLs and
# domain names. Rules:
#
# * Lowercased
# * Anything not matching [a-z0-9-] is replaced with a -
# * Maximum length is 63 bytes
# * First/Last Character is not a hyphen
def ref_slug
Gitlab::Utils.slugify(ref.to_s)
end
end
end
# frozen_string_literal: true
##
# We will disable `ref` and `sha` attributes in `Ci::Build` in the future
# and remove this module in favor of Ci::PipelineDelegator.
module HasRef
extend ActiveSupport::Concern
def branch?
!tag? && !merge_request?
end
def git_ref
if branch?
Gitlab::Git::BRANCH_REF_PREFIX + ref.to_s
elsif tag?
Gitlab::Git::TAG_REF_PREFIX + ref.to_s
end
end
# A slugified version of the build ref, suitable for inclusion in URLs and
# domain names. Rules:
#
# * Lowercased
# * Anything not matching [a-z0-9-] is replaced with a -
# * Maximum length is 63 bytes
# * First/Last Character is not a hyphen
def ref_slug
Gitlab::Utils.slugify(ref.to_s)
end
end
......@@ -2,7 +2,7 @@
require 'spec_helper'
describe HasRef do
describe Ci::HasRef do
describe '#branch?' do
let(:build) { create(:ci_build) }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment