Class: Core::Pipeline::Compiler

Inherits:
Object
  • Object
show all
Defined in:
lib/core/pipeline/compiler.rb

Overview

public

Compiles a pipeline instance into a callable object.

Class Method Summary collapse

Class Method Details

.compile(pipeline) ⇒ Object

public

Compiles a pipeline instance.



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/core/pipeline/compiler.rb', line 14

def compile(pipeline)
  compiled = "    def call(...)\n    \#{compile_pipeline(pipeline)}\n    rescue Core::Pipeline::Signals::Halted => error\n      error.value\n    end\n  CODE\n\n  pipeline.instance_eval(compiled, __FILE__, __LINE__ - 1)\nend\n"