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.
- 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
|