gitfinger 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|