Sha256: 1861229c0ce826d297cd442666722553dbb1c46e68dabb7bc5c84f9d51577339
Contents?: true
Size: 958 Bytes
Versions: 4
Compression:
Stored size: 958 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) selected_assignee, _ = selection_manager.select_attributes selected_assignee&.username end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
geet-0.3.6 | lib/geet/services/list_issues.rb |
geet-0.3.5 | lib/geet/services/list_issues.rb |
geet-0.3.4 | lib/geet/services/list_issues.rb |
geet-0.3.3 | lib/geet/services/list_issues.rb |