Sha256: 469423b8601139d720ba6440dd9bafa7abb6565f1910d9b05911277c14fae916
Contents?: true
Size: 988 Bytes
Versions: 25
Compression:
Stored size: 988 Bytes
Contents
# frozen_string_literal: true require_relative '../utils/attributes_selection_manager' require_relative '../shared/selection' module Geet module Services class ListIssues include Geet::Shared::Selection 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, SELECTION_SINGLE, name_method: :username) selection_manager.select_attributes[0] end end end end
Version data entries
25 entries across 25 versions & 1 rubygems