gem-stats 1.0.5 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # gem-stats
2
2
 
3
- View stastics for any gem.
3
+ View authors, dependencies, etc for rubygems.
4
4
 
5
5
  ## Installation
6
6
 
@@ -10,21 +10,23 @@ View stastics for any gem.
10
10
 
11
11
  > gem stats sinatra
12
12
 
13
- sinatra by Blake Mizerany
14
- http://gemcutter.org/gems/sinatra
13
+ sinatra by Blake Mizerany, Ryan Tomayko, Simon Rozet
14
+ http://rubygems.org/gems/sinatra
15
15
 
16
- Total Downloads 34621
17
- Version Downloads 29578
18
- Current Version 0.9.4
16
+ Total Downloads 120277
17
+ Version Downloads 50868
18
+ Current Version 1.0
19
19
 
20
20
  Runtime Dependencies
21
- rack >= 0.9.1
22
- shotgun >= 0.2, < 1.0
23
- rack-test >= 0.3.0
21
+ rack >= 1.0
24
22
 
25
23
  Development Dependencies
26
- shotgun >= 0.2, < 1.0
24
+ less >= 0
25
+ erubis >= 0
26
+ builder >= 0
27
+ haml >= 0
27
28
  rack-test >= 0.3.0
29
+ shotgun >= 0.6, < 1.0
28
30
 
29
31
  ## Copyright
30
32
 
@@ -3,7 +3,7 @@ require 'json'
3
3
 
4
4
  class Gem::Commands::StatsCommand < Gem::Command
5
5
  def initialize
6
- super 'stats', 'View statistics for gems'
6
+ super 'stats', 'View authors, dependencies, etc for rubygems'
7
7
  end
8
8
 
9
9
  def arguments
@@ -14,50 +14,61 @@ class Gem::Commands::StatsCommand < Gem::Command
14
14
  "#{program_name} [gem-name]"
15
15
  end
16
16
 
17
+ def get_stats gem
18
+ begin
19
+ open "http://rubygems.org/api/v1/gems/#{gem}.json" do |results|
20
+ JSON.parse(results.read)
21
+ end
22
+ rescue OpenURI::HTTPError
23
+ puts "Whoops, seems as if that gem doesn't exist!"
24
+ exit
25
+ end
26
+ end
27
+
28
+ def sexify dependencies
29
+ lengths = []
30
+ dependencies.each do |dependency|
31
+ lengths.push(dependency['name'].length)
32
+ end
33
+
34
+ dependencies.each do |dependency|
35
+ name = dependency['name']
36
+ req = dependency['requirements']
37
+ space = ' '
38
+
39
+ (lengths.max - name.length).times do |x|
40
+ space += ' '
41
+ end
42
+
43
+ puts "#{name + space}\e[33m#{req}\e[0m"
44
+ end
45
+ end
46
+
17
47
  def execute
18
48
  begin
19
49
  gem = get_one_gem_name
20
50
  rescue Gem::CommandLineError
21
- puts 'Please specify a gem name (e.g. gem stats sinatra).'
51
+ puts 'Please specify a gem name (e.g. `gem stats sinatra`).'
22
52
  exit
23
53
  end
24
54
 
25
- begin
26
- open "http://rubygems.org/api/v1/gems/#{gem}.json" do |results|
27
- results.each do |result|
28
- stats = JSON.parse result
29
-
30
- puts stats['name'] + ' by ' + stats['authors']
31
- puts stats['project_uri']
32
-
33
- puts ''
34
-
35
- puts 'Total Downloads ' + stats['downloads'].to_s
36
- puts 'Version Downloads ' + stats['version_downloads'].to_s
37
- puts 'Current Version ' + stats['version']
38
-
39
- unless stats['dependencies']['runtime'].empty?
40
- puts ''
41
-
42
- puts 'Runtime Dependencies'
43
- stats['dependencies']['runtime'].each do |dependency|
44
- puts dependency['name'] + ' ' + dependency['requirements']
45
- end
46
- end
47
-
48
- unless stats['dependencies']['development'].empty?
49
- puts ''
50
-
51
- puts 'Development Dependencies'
52
- stats['dependencies']['development'].each do |dependency|
53
- puts dependency['name'] + ' ' + dependency['requirements']
54
- end
55
- end
56
- end
57
- end
58
- rescue OpenURI::HTTPError
59
- puts "Whoops, seems as if that gem doesn't exist!"
60
- exit
55
+ stats = get_stats(gem)
56
+
57
+ puts "#{stats['name']} by #{stats['authors']}"
58
+ puts "\e[34m#{stats['project_uri']}\e[0m\n\n"
59
+
60
+ puts "Total Downloads \e[32m#{stats['downloads'].to_s}\e[0m"
61
+ puts "Version Downloads \e[32m#{stats['version_downloads'].to_s}\e[0m"
62
+ puts "Current Version \e[32m#{stats['version']}\e[0m"
63
+
64
+ unless stats['dependencies']['runtime'].empty?
65
+ puts "\nRuntime Dependencies"
66
+ sexify(stats['dependencies']['runtime'])
67
+ end
68
+
69
+ unless stats['dependencies']['development'].empty?
70
+ puts "\nDevelopment Dependencies"
71
+ sexify(stats['dependencies']['development'])
61
72
  end
62
73
  end
63
74
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem-stats
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 27
4
5
  prerelease: false
5
6
  segments:
6
7
  - 1
7
8
  - 0
8
- - 5
9
- version: 1.0.5
9
+ - 6
10
+ version: 1.0.6
10
11
  platform: ruby
11
12
  authors:
12
13
  - Danny Tatom
@@ -14,34 +15,24 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-03-04 00:00:00 -08:00
18
+ date: 2010-06-23 00:00:00 -07:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- name: turn
22
+ name: contest
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 3
27
30
  segments:
28
31
  - 0
29
32
  version: "0"
30
33
  type: :development
31
34
  version_requirements: *id001
32
- - !ruby/object:Gem::Dependency
33
- name: contest
34
- prerelease: false
35
- requirement: &id002 !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- segments:
40
- - 0
41
- version: "0"
42
- type: :development
43
- version_requirements: *id002
44
- description: View statistics for given gems.
35
+ description: View authors, dependencies, etc for rubygems.
45
36
  email: dannytatom@gmail.com
46
37
  executables: []
47
38
 
@@ -64,25 +55,29 @@ rdoc_options: []
64
55
  require_paths:
65
56
  - lib
66
57
  required_ruby_version: !ruby/object:Gem::Requirement
58
+ none: false
67
59
  requirements:
68
60
  - - ">="
69
61
  - !ruby/object:Gem::Version
62
+ hash: 3
70
63
  segments:
71
64
  - 0
72
65
  version: "0"
73
66
  required_rubygems_version: !ruby/object:Gem::Requirement
67
+ none: false
74
68
  requirements:
75
69
  - - ">="
76
70
  - !ruby/object:Gem::Version
71
+ hash: 3
77
72
  segments:
78
73
  - 0
79
74
  version: "0"
80
75
  requirements: []
81
76
 
82
77
  rubyforge_project:
83
- rubygems_version: 1.3.6
78
+ rubygems_version: 1.3.7
84
79
  signing_key:
85
80
  specification_version: 3
86
- summary: View statistics for gems.
81
+ summary: View authors, dependencies, etc for rubygems.
87
82
  test_files: []
88
83