lachlan-sprinkle 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/sprinkle/package.rb +12 -7
- data/lib/sprinkle/policy.rb +1 -1
- data/lib/sprinkle/version.rb +1 -1
- data/sprinkle.gemspec +1 -1
- metadata +1 -1
data/lib/sprinkle/package.rb
CHANGED
@@ -93,22 +93,27 @@ module Sprinkle
|
|
93
93
|
#++
|
94
94
|
module Package
|
95
95
|
PACKAGES = {}
|
96
|
+
VIRTUAL_PACKAGES = []
|
96
97
|
|
97
98
|
def package(name, metadata = {}, &block)
|
98
99
|
package = Package.new(name, metadata, &block)
|
99
100
|
(PACKAGES[name] ||= []) << package
|
100
|
-
|
101
|
+
if package.provides
|
102
|
+
(PACKAGES[package.provides] ||= []) << package
|
103
|
+
VIRTUAL_PACKAGES << package.provides
|
104
|
+
end
|
101
105
|
package
|
102
106
|
end
|
103
107
|
|
104
108
|
def find(name)
|
105
109
|
packages = PACKAGES[name]
|
106
|
-
if packages and packages.length > 1
|
110
|
+
if packages and packages.length > 1 and VIRTUAL_PACKAGES.include? name
|
107
111
|
selected = []
|
108
112
|
choose do |menu|
|
109
|
-
menu.
|
113
|
+
menu.layout = :one_line
|
114
|
+
menu.header = "Choose #{name}"
|
110
115
|
packages.sort!.each do |package|
|
111
|
-
menu.choice(
|
116
|
+
menu.choice(package.to_s) do
|
112
117
|
selected << package
|
113
118
|
end
|
114
119
|
end
|
@@ -283,9 +288,9 @@ module Sprinkle
|
|
283
288
|
|
284
289
|
private
|
285
290
|
|
286
|
-
|
287
|
-
|
288
|
-
|
291
|
+
def meta_package?
|
292
|
+
@installer == nil
|
293
|
+
end
|
289
294
|
end
|
290
295
|
end
|
291
296
|
end
|
data/lib/sprinkle/policy.rb
CHANGED
@@ -102,7 +102,7 @@ module Sprinkle
|
|
102
102
|
|
103
103
|
def normalize(all, &block)
|
104
104
|
all = all.flatten.uniq
|
105
|
-
cloud_info "\
|
105
|
+
cloud_info "\nNormalized installation order for all packages: #{all.map(&:to_s).join(', ')}"
|
106
106
|
all.each &block
|
107
107
|
end
|
108
108
|
end
|
data/lib/sprinkle/version.rb
CHANGED
data/sprinkle.gemspec
CHANGED