vain 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/bin/vain ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'vain'
5
+
6
+ console = Vain::CLI.new
7
+ console.start
data/lib/vain/cli.rb ADDED
@@ -0,0 +1,57 @@
1
+ module Vain
2
+
3
+ class CLI
4
+
5
+ require 'rubygems'
6
+ require 'columnizer'
7
+ require 'hubruby'
8
+
9
+ # Some colors used in the output
10
+ NameColor = "\e[33m"
11
+ CommandColor = "\e[36m"
12
+ DefaultColor = "\e[0m"
13
+ ErrorColor = "\e[31m"
14
+
15
+ # Get the commands from the command line
16
+ # (Somewhat primitive, will be expanded) TODO
17
+ def start
18
+ ARGV.length == 1 ? status(ARGV[0]) : help
19
+ end
20
+
21
+ private
22
+
23
+ def status(user_handle)
24
+ user = GitHub.user(user_handle)
25
+ return failtown("Unknown user: #{user_handle}") if user.login.nil?
26
+ puts "#{CommandColor}#{user.login}#{DefaultColor} - #{user.followers_count} followers"
27
+ # get the repositories sorted by watcher count
28
+ repositories = user.repositories.sort_by { |r| 1.0 / r.watchers }
29
+ data = repositories.map do |repo|
30
+ [
31
+ NameColor + repo.name + DefaultColor,
32
+ ' ',
33
+ "#{repo.watchers} watchers",
34
+ "#{repo.forks} forks",
35
+ ErrorColor + (repo.fork ? '(FORK)' : '')
36
+ ]
37
+ end
38
+ puts Columnizer.columnize(data, :padding => 3)
39
+ end
40
+
41
+ # Display help section
42
+ def help(*args)
43
+ puts "#{NameColor}vain#{DefaultColor} by John Crepezzi <john.crepezzi@gmail.com>"
44
+ puts 'http://github.com/seejohnrun/vain'
45
+ puts
46
+ puts "#{CommandColor}vain handle#{DefaultColor} View account info"
47
+ end
48
+
49
+ # Show error message with help below it
50
+ def failtown(message = nil)
51
+ puts "#{ErrorColor}Uh-oh! #{message}#{DefaultColor}\n" if message
52
+ help
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -0,0 +1,5 @@
1
+ module Vain
2
+
3
+ VERSION = '0.0.5'
4
+
5
+ end
data/lib/vain.rb ADDED
@@ -0,0 +1,4 @@
1
+ require 'vain/cli'
2
+
3
+ module Vain
4
+ end
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vain
3
+ version: !ruby/object:Gem::Version
4
+ hash: 21
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 5
10
+ version: 0.0.5
11
+ platform: ruby
12
+ authors:
13
+ - John Crepezzi
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-04 00:00:00 -05:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rspec
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :development
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: hubruby
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :runtime
48
+ version_requirements: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ name: columnizer
51
+ prerelease: false
52
+ requirement: &id003 !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirements:
55
+ - - "="
56
+ - !ruby/object:Gem::Version
57
+ hash: 25
58
+ segments:
59
+ - 0
60
+ - 0
61
+ - 3
62
+ version: 0.0.3
63
+ type: :runtime
64
+ version_requirements: *id003
65
+ description: View information about a GitHub account
66
+ email: john@crepezzi.com
67
+ executables:
68
+ - vain
69
+ extensions: []
70
+
71
+ extra_rdoc_files: []
72
+
73
+ files:
74
+ - lib/vain/cli.rb
75
+ - lib/vain/version.rb
76
+ - lib/vain.rb
77
+ - bin/vain
78
+ has_rdoc: true
79
+ homepage: http://github.com/seejohnrun/vain/
80
+ licenses: []
81
+
82
+ post_install_message:
83
+ rdoc_options: []
84
+
85
+ require_paths:
86
+ - lib
87
+ required_ruby_version: !ruby/object:Gem::Requirement
88
+ none: false
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ hash: 3
93
+ segments:
94
+ - 0
95
+ version: "0"
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ hash: 3
102
+ segments:
103
+ - 0
104
+ version: "0"
105
+ requirements: []
106
+
107
+ rubyforge_project: vain
108
+ rubygems_version: 1.3.7
109
+ signing_key:
110
+ specification_version: 3
111
+ summary: GitHub account info
112
+ test_files: []
113
+