gitfinger 0.0.4 → 0.0.5
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.
- data/README.md +8 -3
- data/bin/gitfinger +43 -6
- data/gitfinger.gemspec +3 -1
- data/lib/gitfinger.rb +3 -0
- metadata +5 -4
data/README.md
CHANGED
@@ -6,12 +6,17 @@ A simple Ruby gem that lets you finger GitHub users.
|
|
6
6
|
|
7
7
|
## Usage
|
8
8
|
|
9
|
-
gitfinger [GitHub username]
|
9
|
+
gitfinger [GitHub username] [options]
|
10
10
|
|
11
|
+
## Options
|
12
|
+
|
13
|
+
-s, --sort [FIELD] Order on FIELD
|
14
|
+
-r, --reverse Reverse standard order
|
15
|
+
-h, --help Show this message
|
16
|
+
-v, --version Show version
|
17
|
+
|
11
18
|
|
12
19
|
## Install
|
13
20
|
|
14
21
|
gem install gitfinger
|
15
22
|
|
16
|
-
|
17
|
-
|
data/bin/gitfinger
CHANGED
@@ -1,15 +1,38 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'time'
|
4
|
+
require 'octokit'
|
5
|
+
require 'yaml'
|
6
|
+
require 'optparse'
|
7
|
+
|
8
|
+
opts = {}
|
9
|
+
op = OptionParser.new {|o|
|
10
|
+
o.banner = "Usage: gitfinger [GitHub username]"
|
11
|
+
o.separator ""
|
12
|
+
o.separator "Specific options:"
|
13
|
+
o.on("-s", "--sort [FIELD]", "Order on FIELD") { |field| opts[:sort] = field }
|
14
|
+
o.on("-r", "--reverse", "Reverse standard order") { opts[:reverse] = true }
|
15
|
+
o.on("-h", "--help", "Show this message") {
|
16
|
+
require 'gitfinger'
|
17
|
+
puts "gitfinger #{Gitfinger::VERSION}"
|
18
|
+
puts o
|
19
|
+
exit
|
20
|
+
}
|
21
|
+
o.on("-v", "--version", "Show version") {
|
22
|
+
require 'gitfinger'
|
23
|
+
puts "gitfinger #{Gitfinger::VERSION}"
|
24
|
+
exit
|
25
|
+
}
|
26
|
+
}
|
27
|
+
op.parse!
|
4
28
|
user = ARGV.first
|
5
29
|
if user.nil?
|
6
|
-
$stderr.puts
|
30
|
+
$stderr.puts op
|
7
31
|
exit 1
|
8
32
|
end
|
9
33
|
|
10
|
-
require 'octokit'
|
11
|
-
require 'yaml'
|
12
34
|
c = Octokit::Client.new
|
35
|
+
|
13
36
|
begin
|
14
37
|
repos = c.repositories(user, per_page: 300)
|
15
38
|
rescue Octokit::NotFound
|
@@ -23,15 +46,29 @@ def truncate(s, len)
|
|
23
46
|
end
|
24
47
|
|
25
48
|
res = repos.map {|r|
|
26
|
-
d = %w( repo name w watchers f forks i open_issues updated updated_at pushed pushed_at type fork desc description).each_slice(2).reduce({}) {|m,
|
27
|
-
m[
|
49
|
+
d = %w( repo name w watchers f forks i open_issues updated updated_at pushed pushed_at type fork desc description).each_slice(2).reduce({}) {|m, (display_key,api_key)|
|
50
|
+
m[display_key] = r[api_key]
|
28
51
|
m
|
29
52
|
}
|
30
53
|
%w( updated pushed ).each {|x| d[x] = d[x] && DateTime.parse(d[x]) }
|
31
54
|
d['type'] = d['type'] ? 'fork' : 'source'
|
32
55
|
d
|
33
|
-
}
|
56
|
+
}
|
57
|
+
|
58
|
+
sort_field = opts[:sort] || 'updated'
|
59
|
+
res = res.sort_by {|x|
|
60
|
+
sort_value = x[sort_field]
|
61
|
+
if sort_value.nil?
|
62
|
+
sort_value = Time.at(0).to_date if sort_field =~ /updated|pushed/
|
63
|
+
sort_value = "" if sort_field =~ /desc/
|
64
|
+
end
|
65
|
+
sort_value.downcase! if sort_field == 'repo'
|
66
|
+
sort_value
|
67
|
+
}
|
34
68
|
|
69
|
+
# default order for date and counts is latest or greatest first
|
70
|
+
res.reverse! if %w(updated pushed w i f).member?(sort_field)
|
71
|
+
res.reverse! if opts[:reverse]
|
35
72
|
|
36
73
|
def fmt_datetime(t)
|
37
74
|
t.strftime("%b %d %Y")
|
data/gitfinger.gemspec
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$:.push File.expand_path("../lib", __FILE__)
|
3
3
|
|
4
|
+
require 'gitfinger'
|
5
|
+
|
4
6
|
Gem::Specification.new do |s|
|
5
7
|
s.name = "gitfinger"
|
6
|
-
s.version =
|
8
|
+
s.version = Gitfinger::VERSION
|
7
9
|
s.platform = Gem::Platform::RUBY
|
8
10
|
s.required_ruby_version = '>= 1.9.0'
|
9
11
|
|
data/lib/gitfinger.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gitfinger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-27 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: octokit
|
16
|
-
requirement: &
|
16
|
+
requirement: &4278520 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0.6'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *4278520
|
25
25
|
description: Finger GitHub users
|
26
26
|
email:
|
27
27
|
- dhchoi@gmail.com
|
@@ -37,6 +37,7 @@ files:
|
|
37
37
|
- Rakefile
|
38
38
|
- bin/gitfinger
|
39
39
|
- gitfinger.gemspec
|
40
|
+
- lib/gitfinger.rb
|
40
41
|
- screenshots/gitfinger.png
|
41
42
|
homepage: http://github.com/danchoi/gitfinger
|
42
43
|
licenses: []
|