Class: Gitlab::DataBuilder::Pipeline
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Gitlab::DataBuilder::Pipeline
- Defined in:
- lib/gitlab/data_builder/pipeline.rb
Overview
Some callers want to include retried builds, so we wrap the payload hash in a SimpleDelegator with additional methods.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(pipeline) ⇒ Pipeline
constructor
A new instance of Pipeline.
- #with_retried_builds ⇒ Object
Constructor Details
#initialize(pipeline) ⇒ Pipeline
Returns a new instance of Pipeline.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/gitlab/data_builder/pipeline.rb', line 12 def initialize(pipeline) @pipeline = pipeline attrs = { object_kind: 'pipeline', object_attributes: hook_attrs(pipeline), merge_request: pipeline.merge_request && merge_request_attrs(pipeline.merge_request), user: pipeline.user.try(:hook_attrs), project: pipeline.project.hook_attrs(backward: false), commit: pipeline.commit.try(:hook_attrs), builds: Gitlab::Lazy.new do preload_builds(pipeline, :latest_builds) pipeline.latest_builds.map(&method(:build_hook_attrs)) end } if pipeline.source_pipeline.present? attrs[:source_pipeline] = source_pipeline_attrs(pipeline.source_pipeline) end super(attrs) end |
Class Method Details
.build(pipeline) ⇒ Object
8 9 10 |
# File 'lib/gitlab/data_builder/pipeline.rb', line 8 def self.build(pipeline) new(pipeline) end |