Sha256: ac1256a9bac1d789728a66dbb2cc61ed4ea3fa231ea2a8e14a438b10877265e0
Contents?: true
Size: 1.26 KB
Versions: 4
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true require_relative '../base' require_relative '../../command_builders/text_content_builder' module Gitlab module Triage module Action class IssueBuilder attr_reader :title def initialize(action, resources, net) @title = action[:title] @item_template = action[:item] @summary_template = action[:summary] @resources = resources @net = net end def description return '' unless @summary_template @description ||= CommandBuilders::TextContentBuilder.new( @summary_template, resource: summary_resource, net: @net) .build_command end def valid? title =~ /\S+/ end private def summary_resource @summary_resource ||= { 'items' => items, 'title' => title } end def items return '' unless @item_template @items ||= @resources.map(&method(:build_item)).join("\n") end def build_item(resource) CommandBuilders::TextContentBuilder.new( @item_template, resource: resource, net: @net) .build_command.chomp end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems