class Gitlab::Triage::EntityBuilders::IssueBuilder
Public Class Methods
new( type:, action:, resources:, network:, policy_spec: {}, separator: "\n")
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 9 def initialize( type:, action:, resources:, network:, policy_spec: {}, separator: "\n") @type = type @policy_spec = policy_spec @item_template = action[:item] @title_template = action[:title] @summary_template = action[:summary] @summary_destination = action[:destination] @redact_confidentials = action[:redact_confidential_resources] != false @resources = resources @network = network @separator = separator end
Public Instance Methods
any_resources?()
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 41 def any_resources? @resources.any? end
description()
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 29 def description @description ||= build_text(description_resource, @summary_template) end
destination()
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 33 def destination @summary_destination end
title()
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 25 def title @title ||= build_text(title_resource, @title_template) end
valid?()
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 37 def valid? title =~ /\S+/ && any_resources? end
Private Instance Methods
build_item(resource)
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 59 def build_item(resource) case resource when IssueBuilder resource.description else build_text(resource, @item_template) end end
build_text(resource, template)
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 68 def build_text(resource, template) return '' unless template CommandBuilders::TextContentBuilder.new( template, resource: resource, network: @network, redact_confidentials: @redact_confidentials) .build_command.chomp end
description_resource()
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 51 def description_resource title_resource.merge(title: title, items: items) end
items()
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 55 def items @items ||= @resources.map(&method(:build_item)).join(@separator) end
title_resource()
click to toggle source
# File lib/gitlab/triage/entity_builders/issue_builder.rb, line 47 def title_resource { type: @type } end