Sha256: 118bace408836eff12318f4ef658a427cbdb022bd140333834523e7b8dc70b5e
Contents?: true
Size: 901 Bytes
Versions: 9
Compression:
Stored size: 901 Bytes
Contents
# frozen_string_literal: true require_relative '../utils/attributes_selection_manager' module Geet module Services class ListIssues def initialize(repository, out: $stdout) @repository = repository @out = out end def execute(assignee: nil, **) selected_assignee = find_and_select_attributes(assignee) if assignee issues = @repository.issues(assignee: selected_assignee) issues.each do |issue| @out.puts "#{issue.number}. #{issue.title} (#{issue.link})" end end private def find_and_select_attributes(assignee) selection_manager = Geet::Utils::AttributesSelectionManager.new(@repository, out: @out) selection_manager.add_attribute(:collaborators, 'assignee', assignee, :single, name_method: :username) selection_manager.select_attributes[0] end end end end
Version data entries
9 entries across 9 versions & 1 rubygems