Sha256: cc9a27d327e84f5f4886279e36ce5a6c5deefccb56654f2fb3febd0b3e33df47
Contents?: true
Size: 1.28 KB
Versions: 2
Compression:
Stored size: 1.28 KB
Contents
# frozen_string_literal: true require_relative '../command_builders/text_content_builder' module Gitlab module Triage module EntityBuilders class IssueBuilder attr_reader :title attr_writer :description, :items 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gitlab-triage-0.14.1 | lib/gitlab/triage/entity_builders/issue_builder.rb |
gitlab-triage-0.14.0 | lib/gitlab/triage/entity_builders/issue_builder.rb |