diff --git a/lib/waff/commands/list.rb b/lib/waff/commands/list.rb index dad0ac1..c5dd10b 100644 --- a/lib/waff/commands/list.rb +++ b/lib/waff/commands/list.rb @@ -4,8 +4,7 @@ module Waff module Commands class List < Command def call params - ready_issues = github_repo.get_open_issues 'ready' - ready_issues += github_repo.get_open_issues 'to do' + ready_issues = github_repo.get_open_issues Config.ready_label puts "Ready: \n\n" ready_issues.each do |issue| puts "##{issue.number}\t #{issue.title}" diff --git a/lib/waff/config.rb b/lib/waff/config.rb index de7c6ce..def7b14 100644 --- a/lib/waff/config.rb +++ b/lib/waff/config.rb @@ -22,23 +22,35 @@ def get_owner_and_repo url[/:(.*)\.git/, 1] || raise(REMOTE_NOT_FOUND) end + def ready_label + config['ready_label'] || 'to do' + end + def init_config! return if File.exist?(CONFIG_FILE) puts "No config file detected (#{CONFIG_FILE}). Will generate one now in current directory." + print 'Github username: ' user = $stdin.gets + print 'Github password/personal token: ' token = $stdin.gets + print 'Git remote (leave empty for "origin"): ' remote = $stdin.gets.strip remote = remote.empty? ? 'origin' : remote + print 'Ready label (leave empty for "to do"): ' + ready_label = $stdin.gets.strip + ready_label = ready_label.empty? ? 'to do' : ready_label + # Write config file File.open(CONFIG_FILE, 'w') do |file| file.puts "user: #{user}" file.puts "token: #{token}" file.puts "remote: #{remote}" + file.puts "ready_label: #{ready_label}" end # Write exclude file diff --git a/lib/waff/issue.rb b/lib/waff/issue.rb index 15f5222..8c415bf 100644 --- a/lib/waff/issue.rb +++ b/lib/waff/issue.rb @@ -21,17 +21,17 @@ def assign_to_self! end def mark_in_progress! - labels.delete 'ready' - labels.delete 'to do' + labels.delete Config.ready_label labels << 'in progress' + labels.uniq! repository.export_labels self end def mark_ready! - labels << 'ready' - labels << 'to do' + labels << Config.ready_label labels.delete 'in progress' + labels.uniq! repository.export_labels self end