Class: Foobara::Value::Processor::Pipeline
- Defined in:
- foobara-0.6.1/projects/typesystem/projects/value/src/processor/pipeline.rb
Direct Known Subclasses
TypeDeclarations::DesugarizerPipeline, TypeDeclarations::TypeDeclarationHandler, Types::Type
Instance Attribute Summary
Attributes inherited from Multi
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Multi
#applicable?, #error_classes, #initialize, #possible_errors, #processor_names, #register, requires_declaration_data?
Constructor Details
This class inherits a constructor from Foobara::Value::Processor::Multi
Class Method Details
.foobara_manifest ⇒ Object
8 9 10 11 12 |
# File 'projects/typesystem/projects/value/src/processor/pipeline.rb', line 8 def # simplecov:disable super.merge(processor_type: :pipeline) # simplecov:enable end |
Instance Method Details
#process_outcome(old_outcome) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'projects/typesystem/projects/value/src/processor/pipeline.rb', line 15 def process_outcome(old_outcome) processors.inject(old_outcome) do |outcome, processor| return outcome if outcome.fatal? value = outcome.result if processor.applicable?(value) processor.process_outcome(outcome) else outcome end end end |