Narnach-gems 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +3 -0
- data/gems.gemspec +1 -1
- data/lib/gems.rb +22 -13
- 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.
|
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
|
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
|
-
|
44
|
-
|
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
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
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
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
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
|