Class: Mantra::Transform::Filter

Inherits:
Mantra::Transform show all
Defined in:
lib/mantra/transform/filter.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Mantra::Transform

description, #ensure_yml_file_exist, input, inputs, #merge_tool, #previous_transform, #raise_error_if_no_source_manifest, #run, #source_manifest, #target_manifest, #validate_inputs

Methods included from Helpers::ObjectWithType

included

Instance Attribute Details

#resultObject

Returns the value of attribute result.



5
6
7
# File 'lib/mantra/transform/filter.rb', line 5

def result
  @result
end

Instance Method Details

#performObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mantra/transform/filter.rb', line 15

def perform
  @result = Mantra::Manifest::Element.create({})
  manifest = previous_transform.result
  sections.each_with_index do |p, i|
    elements = manifest.select(p)
    elements.each do |e|
      direct_path = e.path
      root_element_to_merge = Mantra::Manifest::Element.element_with_selector(direct_path, e.content)
      @result.merge(root_element_to_merge)
    end
  end
end