soopr 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 20d52ba63acfd50c9e11efe91636f8423c0b9012
4
- data.tar.gz: ee3bf758849f88752205290484cb5b38ad86b1e5
3
+ metadata.gz: d508b6ab57a1cfb688398786870f281ec73fbb29
4
+ data.tar.gz: b6e7e1e2167f5bd71d937b9b0c85ff378a626695
5
5
  SHA512:
6
- metadata.gz: bcfc166a5633cbb70efc619ff01d695a5ad9f88e44478228c85ccb4601a20d5124a142bae51e10bc66bb6c1fa007c08674e3494b22c6e28a41dc661bd57a0429
7
- data.tar.gz: 0ba899b7c8c1af108e44497988a3cf90659d89805e3729be01afcfa04bd2430122f0c8033b1b8c2be0b2bcb3563e6de58801bcbc1a4c31cbd6ac158a43746f3d
6
+ metadata.gz: 6dc8346c6e06407463caf4deb0e0b3ea914df059e38727f7a72995cb18f4f94a0363f66aea536f8a1c04520504273892f21f66490d7a2b99dd1d4031435f4b22
7
+ data.tar.gz: 1d37b8673b1ddcac6a1490c1135ec166e0056292c29628578305a37ab37df7db515bf2285d5f384f9106c20b1cd3e43fca87753e8f83c0b224d68efd9939d350
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- soopr (0.1.0)
4
+ soopr (0.2.0)
5
5
  methadone (~> 1.9.2)
6
6
  netrc (~> 0.11.0)
7
7
  octokit (~> 4.0)
data/README.md CHANGED
@@ -4,7 +4,7 @@ SOOPR offers open pull requests
4
4
 
5
5
  ## Installation
6
6
 
7
- Just clone it for now.
7
+ `gem install soopr`
8
8
 
9
9
  SOOPR assumes you have a `~/.netrc` file for Github API auth:
10
10
 
@@ -14,15 +14,17 @@ machine api.github.com
14
14
  password [password or oauth token]
15
15
  ```
16
16
 
17
+ You can create a personal token to be used at https://github.com/settings/tokens
18
+
17
19
  ## Usage
18
20
 
19
21
  Run from the project root:
20
22
 
21
- `bundle exec bin/soopr [organisation] [team]`
23
+ `soopr [organisation] [team]` (parameters are case-sensitive)
22
24
 
23
25
  Usage help is available, too:
24
26
 
25
- `bundle exec bin/soopr --help`
27
+ `soopr --help`
26
28
 
27
29
  ## Development
28
30
 
data/bin/soopr CHANGED
@@ -5,35 +5,36 @@ require 'methadone'
5
5
  require 'octokit'
6
6
  require 'soopr.rb'
7
7
 
8
- class String
9
- # colorization
10
- def colorize(color_code)
11
- "\e[#{color_code}m#{self}\e[0m"
12
- end
8
+ class App
9
+ include Methadone::Main
10
+ include Methadone::CLILogging
13
11
 
14
- def red
15
- colorize(31)
12
+ def self.colorize color_code, string
13
+ if options[:monochrome]
14
+ string
15
+ else
16
+ "\e[#{color_code}m#{string}\e[0m"
17
+ end
16
18
  end
17
19
 
18
- def green
19
- colorize(32)
20
+ def self.blue string
21
+ colorize 34, string
20
22
  end
21
23
 
22
- def blue
23
- colorize(34)
24
+ def self.green string
25
+ colorize 32, string
24
26
  end
25
- end
26
27
 
27
- class App
28
- include Methadone::Main
29
- include Methadone::CLILogging
28
+ def self.red string
29
+ colorize 31, string
30
+ end
30
31
 
31
32
  main do |organisation, team|
32
33
  Octokit.configure do |c|
33
34
  c.netrc = true
34
35
  end
35
36
 
36
- debug "Starting to fetch teams for organisation '#{organisation}'"
37
+ logger.debug "Starting to fetch teams for organisation '#{organisation}'"
37
38
 
38
39
  teams = Octokit.organization_teams organisation
39
40
  team_resource = teams.find{ |t| t.name == team}
@@ -43,22 +44,26 @@ class App
43
44
 
44
45
  debug "Starting to fetch repos for team '#{team}'"
45
46
 
46
- repos = Octokit.team_repositories(team_resource.id)
47
- .select{|r| r.open_issues_count > 0}
47
+ all_repos = Octokit.team_repositories(team_resource.id)
48
48
 
49
+ logger.debug "All repos found for team: #{all_repos.map(&:name)}"
49
50
 
50
- if repos.empty?
51
- puts "No open pull requests found.".green
51
+ repos_with_issues = all_repos.select{|r| r.open_issues_count > 0}
52
+
53
+ debug "Repos with open issues: #{repos_with_issues.map(&:name)}"
54
+
55
+ if repos_with_issues.empty?
56
+ puts green "No open pull requests found."
52
57
  else
53
58
 
54
59
  debug "Open pull requests for '#{team}':"
55
60
 
56
- repos.each do |repo|
61
+ repos_with_issues.each do |repo|
57
62
  pull_requests = Octokit.pull_requests repo.id
58
63
  if pull_requests.size > 0 then
59
- puts "# #{repo.name}".red
64
+ puts red "# #{repo.name}"
60
65
  pull_requests.each do |pr|
61
- puts "- #{pr.title}: ".blue + "#{pr.html_url}\n\n".green
66
+ puts blue("- #{pr.title}: ") + green("#{pr.html_url}\n\n")
62
67
  end
63
68
  end
64
69
  end
@@ -69,6 +74,8 @@ class App
69
74
 
70
75
  description 'List open pull requests of a Github team'
71
76
 
77
+ on "-m", "--monochrome", "Use monochrome output instead of colors"
78
+
72
79
  arg :organisation, "Github organisation the team belongs to"
73
80
  arg :team, "Github team from which to list open pull requests"
74
81
 
data/exe/soopr CHANGED
@@ -5,35 +5,36 @@ require 'methadone'
5
5
  require 'octokit'
6
6
  require 'soopr.rb'
7
7
 
8
- class String
9
- # colorization
10
- def colorize(color_code)
11
- "\e[#{color_code}m#{self}\e[0m"
12
- end
8
+ class App
9
+ include Methadone::Main
10
+ include Methadone::CLILogging
13
11
 
14
- def red
15
- colorize(31)
12
+ def self.colorize color_code, string
13
+ if options[:monochrome]
14
+ string
15
+ else
16
+ "\e[#{color_code}m#{string}\e[0m"
17
+ end
16
18
  end
17
19
 
18
- def green
19
- colorize(32)
20
+ def self.blue string
21
+ colorize 34, string
20
22
  end
21
23
 
22
- def blue
23
- colorize(34)
24
+ def self.green string
25
+ colorize 32, string
24
26
  end
25
- end
26
27
 
27
- class App
28
- include Methadone::Main
29
- include Methadone::CLILogging
28
+ def self.red string
29
+ colorize 31, string
30
+ end
30
31
 
31
32
  main do |organisation, team|
32
33
  Octokit.configure do |c|
33
34
  c.netrc = true
34
35
  end
35
36
 
36
- debug "Starting to fetch teams for organisation '#{organisation}'"
37
+ logger.debug "Starting to fetch teams for organisation '#{organisation}'"
37
38
 
38
39
  teams = Octokit.organization_teams organisation
39
40
  team_resource = teams.find{ |t| t.name == team}
@@ -43,22 +44,26 @@ class App
43
44
 
44
45
  debug "Starting to fetch repos for team '#{team}'"
45
46
 
46
- repos = Octokit.team_repositories(team_resource.id)
47
- .select{|r| r.open_issues_count > 0}
47
+ all_repos = Octokit.team_repositories(team_resource.id)
48
48
 
49
+ logger.debug "All repos found for team: #{all_repos.map(&:name)}"
49
50
 
50
- if repos.empty?
51
- puts "No open pull requests found.".green
51
+ repos_with_issues = all_repos.select{|r| r.open_issues_count > 0}
52
+
53
+ debug "Repos with open issues: #{repos_with_issues.map(&:name)}"
54
+
55
+ if repos_with_issues.empty?
56
+ puts green "No open pull requests found."
52
57
  else
53
58
 
54
59
  debug "Open pull requests for '#{team}':"
55
60
 
56
- repos.each do |repo|
61
+ repos_with_issues.each do |repo|
57
62
  pull_requests = Octokit.pull_requests repo.id
58
63
  if pull_requests.size > 0 then
59
- puts "# #{repo.name}".red
64
+ puts red "# #{repo.name}"
60
65
  pull_requests.each do |pr|
61
- puts "- #{pr.title}: ".blue + "#{pr.html_url}\n\n".green
66
+ puts blue("- #{pr.title}: ") + green("#{pr.html_url}\n\n")
62
67
  end
63
68
  end
64
69
  end
@@ -69,6 +74,8 @@ class App
69
74
 
70
75
  description 'List open pull requests of a Github team'
71
76
 
77
+ on "-m", "--monochrome", "Use monochrome output instead of colors"
78
+
72
79
  arg :organisation, "Github organisation the team belongs to"
73
80
  arg :team, "Github team from which to list open pull requests"
74
81
 
@@ -1,3 +1,3 @@
1
1
  module Soopr
2
- VERSION = "0.1.2"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: soopr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nils Blum-Oeste
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-01 00:00:00.000000000 Z
11
+ date: 2016-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -169,4 +169,3 @@ signing_key:
169
169
  specification_version: 4
170
170
  summary: Simple CLI tool to list open pull requests of a Github team.
171
171
  test_files: []
172
- has_rdoc: