Narnach-gems 0.2.0 → 0.2.1

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.
Files changed (4) hide show
  1. data/README.rdoc +3 -0
  2. data/gems.gemspec +1 -1
  3. data/lib/gems.rb +22 -13
  4. metadata +1 -1
data/README.rdoc CHANGED
@@ -5,6 +5,9 @@ Rails code would not get into dependency issues.
5
5
 
6
6
  == Recent changes
7
7
 
8
+ === Version 0.2.1
9
+ Console output for 'gems install', 'gems uninstall' and 'gems switch' is nicer.
10
+
8
11
  === Version 0.2.0
9
12
  Most gems commands can now work on multiple projects at the same time. The 'gems help' command has been updated to reflect this.
10
13
 
data/gems.gemspec CHANGED
@@ -3,7 +3,7 @@ Gem::Specification.new do |s|
3
3
  s.name = 'gems'
4
4
  s.summary = "Gems is a simple tool to manage sets of RubyGems."
5
5
  s.description = "Gems is a simple tool to manage sets of RubyGems. It can be used to install and uninstall large numbers of gems."
6
- s.version = '0.2.0'
6
+ s.version = '0.2.1'
7
7
  s.date = '2008-08-26'
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ["Wes Oldenbeuving"]
data/lib/gems.rb CHANGED
@@ -36,12 +36,17 @@ class Gems
36
36
  end
37
37
 
38
38
  def switch_from_current
39
- puts 'Switching to %s:' % projects.join(", ")
39
+ puts 'Switching to %s...' % projects.join(", ")
40
40
  to_install = projects_gems - current_gems_list
41
41
  to_uninstall = current_gems_list - projects_gems
42
42
 
43
- install_gems_list(to_install)
44
- uninstall_gems_list(to_uninstall)
43
+ puts
44
+ puts '%s to be installed...' % (to_install.size == 1 ? '1 gem needs' : '%i gems need' % to_install.size)
45
+ install_gems_list(to_install) if to_install.size > 0
46
+
47
+ puts
48
+ puts '%s to be uninstalled...' % (to_uninstall.size == 1 ? '1 gem needs' : '%i gems need' % to_uninstall.size)
49
+ uninstall_gems_list(to_uninstall) if to_uninstall.size > 0
45
50
  end
46
51
 
47
52
  def uninstall
@@ -63,17 +68,19 @@ class Gems
63
68
  if gems_config.options_for(gemname).size > 0
64
69
  cmd << ' -- %s' % gems_config.options_for(gemname).join(" ")
65
70
  end
66
- puts cmd
71
+ puts ' ' << cmd
67
72
  result = system(cmd)
68
73
  results['%s-%s' % [gemname, version]] = result
69
74
  end
70
75
  end
71
76
  successful = results.select {|gemname, success| success}
72
77
  unsuccessful = results.select {|gemname, success| !success}
73
- puts
74
- puts "Successfully installed: %s" % successful.map{|ary| ary[0]}.sort.join(", ")
75
- puts
76
- puts "Failed to install: %s" % unsuccessful.map{|ary| ary[0]}.sort.join(", ")
78
+ if successful.size > 0
79
+ puts "Successfully installed: %s" % successful.map{|ary| ary[0]}.sort.join(", ")
80
+ end
81
+ if unsuccessful.size > 0
82
+ puts "Failed to install: %s" % unsuccessful.map{|ary| ary[0]}.sort.join(", ")
83
+ end
77
84
  end
78
85
 
79
86
  def print_gem_list(gems)
@@ -96,15 +103,17 @@ class Gems
96
103
  results = {}
97
104
  gems.each_gem_with_version do |gemname, version|
98
105
  cmd = "sudo gem uninstall --ignore-dependencies --executables -v %s %s > /dev/null" % [version, gemname]
99
- puts cmd
106
+ puts ' ' << cmd
100
107
  result = system(cmd)
101
108
  results['%s-%s' % [gemname, version]] = result
102
109
  end
103
110
  successful = results.select {|gemname, success| success}
104
111
  unsuccessful = results.select {|gemname, success| !success}
105
- puts
106
- puts "Successfully uninstalled: %s" % successful.map{|ary| ary[0]}.sort.join(", ")
107
- puts
108
- puts "Failed to uninstall: %s" % unsuccessful.map{|ary| ary[0]}.sort.join(", ")
112
+ if successful.size > 0
113
+ puts "Successfully uninstalled: %s" % successful.map{|ary| ary[0]}.sort.join(", ")
114
+ end
115
+ if unsuccessful.size > 0
116
+ puts "Failed to uninstall: %s" % unsuccessful.map{|ary| ary[0]}.sort.join(", ")
117
+ end
109
118
  end
110
119
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: Narnach-gems
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wes Oldenbeuving