ruby-quilt 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/quilt.rb +32 -12
- metadata +1 -1
data/lib/quilt.rb
CHANGED
@@ -80,8 +80,10 @@ class Quilt
|
|
80
80
|
:name => version_name,
|
81
81
|
:dir => File.join(local_path, version_name),
|
82
82
|
:default => {
|
83
|
-
:
|
83
|
+
:header => '',
|
84
|
+
:common => '',
|
84
85
|
:optional => {},
|
86
|
+
:footer => ''
|
85
87
|
}
|
86
88
|
}
|
87
89
|
begin
|
@@ -93,8 +95,10 @@ class Quilt
|
|
93
95
|
new_version[:debug] = {
|
94
96
|
:dir => manifest[DEBUG_PREFIX_KEY] ? File.join(new_version[:dir], manifest[DEBUG_PREFIX_KEY]) :
|
95
97
|
new_version[:dir],
|
96
|
-
:
|
97
|
-
:
|
98
|
+
:header => '',
|
99
|
+
:common => '',
|
100
|
+
:optional => {},
|
101
|
+
:footer => ''
|
98
102
|
}
|
99
103
|
end
|
100
104
|
rescue Exception => e
|
@@ -120,8 +124,7 @@ class Quilt
|
|
120
124
|
dir = new_version[prefix][:dir]
|
121
125
|
if manifest[HEADER_KEY]
|
122
126
|
begin
|
123
|
-
new_version[prefix][:
|
124
|
-
"#{new_version[prefix][:base]}#{File.open(File.join(dir, manifest[HEADER_KEY]), "rb").read}"
|
127
|
+
new_version[prefix][:header] = File.open(File.join(dir, manifest[HEADER_KEY]), "rb").read
|
125
128
|
rescue Exception => e
|
126
129
|
log_error(" Could not load #{prefix.to_s} header: #{manifest[HEADER_KEY]}", e)
|
127
130
|
end
|
@@ -129,8 +132,8 @@ class Quilt
|
|
129
132
|
if manifest[COMMON_KEY] && manifest[COMMON_KEY].is_a?(Array)
|
130
133
|
manifest[COMMON_KEY].each do |filename|
|
131
134
|
begin
|
132
|
-
new_version[prefix][:
|
133
|
-
"#{new_version[prefix][:
|
135
|
+
new_version[prefix][:common] =
|
136
|
+
"#{new_version[prefix][:common]}#{File.open(File.join(dir, filename), "rb").read}"
|
134
137
|
rescue Exception => e
|
135
138
|
log_error(" Could not load #{prefix.to_s} common module: #{filename}", e)
|
136
139
|
end
|
@@ -154,7 +157,7 @@ class Quilt
|
|
154
157
|
new_version[prefix][:footer] = File.open(File.join(dir, manifest[FOOTER_KEY]), "rb").read
|
155
158
|
rescue Exception => e
|
156
159
|
log_error(" Could not load #{prefix.to_s} footer: #{manifest[FOOTER_KEY]}", e)
|
157
|
-
new_version[:footer] =
|
160
|
+
new_version[:footer] = ''
|
158
161
|
end
|
159
162
|
end
|
160
163
|
end
|
@@ -250,7 +253,7 @@ class Quilt
|
|
250
253
|
@versions[name]
|
251
254
|
end
|
252
255
|
|
253
|
-
def stitch(selector, version_name, prefix = :default,
|
256
|
+
def stitch(selector, version_name, prefix = :default, dynamic_modules = nil)
|
254
257
|
return '' if !selector
|
255
258
|
version = get_version(version_name)
|
256
259
|
if (!version)
|
@@ -270,14 +273,31 @@ class Quilt
|
|
270
273
|
end
|
271
274
|
|
272
275
|
# resolve dependancies
|
276
|
+
dynamics = dynamic_modules && dynamic_modules.is_a?(Hash) ? dynamic_modules : {}
|
273
277
|
output = "#{
|
274
|
-
|
278
|
+
dynamics[:before_header] ? dynamics[:before_header] : ''
|
279
|
+
}#{
|
280
|
+
outversion[:header]
|
281
|
+
}#{
|
282
|
+
dynamics[:after_header] ? dynamics[:after_header] : ''
|
283
|
+
}#{
|
284
|
+
dynamics[:before_common] ? dynamics[:before_common] : ''
|
285
|
+
}#{
|
286
|
+
outversion[:common]
|
287
|
+
}#{
|
288
|
+
dynamics[:after_common] ? dynamics[:after_common] : ''
|
289
|
+
}#{
|
290
|
+
dynamics[:before_optional] ? dynamics[:before_optional] : ''
|
275
291
|
}#{
|
276
292
|
resolve_dependancies(modules, outversion, {})
|
277
293
|
}#{
|
278
|
-
|
294
|
+
dynamics[:after_optional] ? dynamics[:after_optional] : ''
|
295
|
+
}#{
|
296
|
+
dynamics[:before_footer] ? dynamics[:before_footer] : ''
|
297
|
+
}#{
|
298
|
+
outversion[:footer]
|
279
299
|
}#{
|
280
|
-
|
300
|
+
dynamics[:after_footer] ? dynamics[:after_footer] : ''
|
281
301
|
}"
|
282
302
|
end
|
283
303
|
|