ruby-quilt 0.1.7 → 0.1.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/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
|
|