Class: Extruder::OrderingConcatFilter
- Inherits:
-
ConcatFilter
- Object
- Filter
- ConcatFilter
- Extruder::OrderingConcatFilter
- Defined in:
- lib/extruder/filters/ordering_concat_filter.rb
Overview
A filter that concats files in a specified order.
Instance Attribute Summary
Attributes inherited from Filter
#files, #output_name_generator, #output_root
Instance Method Summary collapse
-
#generate_output(inputs, output) ⇒ Object
Extend the #generate_output method supplied by ConcatFilter.
-
#initialize(ordering, string = nil, &block) ⇒ OrderingConcatFilter
constructor
A new instance of OrderingConcatFilter.
Methods inherited from ConcatFilter
Methods inherited from Filter
#outputs, #process, processes_binary_files
Constructor Details
#initialize(ordering, string = nil, &block) ⇒ OrderingConcatFilter
Returns a new instance of OrderingConcatFilter.
31 32 33 34 |
# File 'lib/extruder/filters/ordering_concat_filter.rb', line 31 def initialize(ordering, string=nil, &block) @ordering = ordering super(string, &block) end |
Instance Method Details
#generate_output(inputs, output) ⇒ Object
Extend the #generate_output method supplied by ConcatFilter. Re-orders the inputs such that the specified files come first. If a file is not in the list it will come after the specified files.
42 43 44 45 46 47 48 |
# File 'lib/extruder/filters/ordering_concat_filter.rb', line 42 def generate_output(inputs, output) @ordering.reverse.each do |name| file = inputs.find{|i| i.path == name } inputs.unshift(inputs.delete(file)) if file end super end |