Class: Gitlab::Ci::Tags::BulkInsert::BuildsTagsConfiguration

Inherits:
Object
  • Object
show all
Defined in:
lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project) ⇒ BuildsTagsConfiguration

Returns a new instance of BuildsTagsConfiguration.



16
17
18
# File 'lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb', line 16

def initialize(project)
  @project = project
end

Class Method Details

.applies_to?(record) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb', line 8

def self.applies_to?(record)
  record.is_a?(::Ci::Build)
end

.build_from(job) ⇒ Object



12
13
14
# File 'lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb', line 12

def self.build_from(job)
  new(job.project)
end

Instance Method Details

#attributes_map(job) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb', line 28

def attributes_map(job)
  {
    build_id: job.id,
    partition_id: job.partition_id,
    project_id: job.project_id
  }
end

#join_modelObject



20
21
22
# File 'lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb', line 20

def join_model
  ::Ci::BuildTag
end

#monomorphic_taggings?(_taggable) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb', line 40

def monomorphic_taggings?(_taggable)
  true
end

#polymorphic_taggings?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb', line 36

def polymorphic_taggings?
  true
end

#unique_byObject



24
25
26
# File 'lib/gitlab/ci/tags/bulk_insert/builds_tags_configuration.rb', line 24

def unique_by
  [:tag_id, :build_id, :partition_id]
end