lachlan-sprinkle 0.0.7 → 0.0.8
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/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