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.
Files changed (2) hide show
  1. data/lib/quilt.rb +32 -12
  2. 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
- :base => '',
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
- :base => '',
97
- :optional => {}
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][:base] =
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][:base] =
133
- "#{new_version[prefix][:base]}#{File.open(File.join(dir, filename), "rb").read}"
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] = nil
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, dynamic_module = nil)
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
- outversion[:base]
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
- dynamic_module ? dynamic_module : ''
294
+ dynamics[:after_optional] ? dynamics[:after_optional] : ''
295
+ }#{
296
+ dynamics[:before_footer] ? dynamics[:before_footer] : ''
297
+ }#{
298
+ outversion[:footer]
279
299
  }#{
280
- outversion[:footer] ? outversion[:footer] : ''
300
+ dynamics[:after_footer] ? dynamics[:after_footer] : ''
281
301
  }"
282
302
  end
283
303
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-quilt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: