Class: Core::Event::Compiler

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

Overview

public

Compiles an event pipeline into evalable code.

Class Method Summary collapse

Class Method Details

.compile(pipeline) ⇒ Object

public

Compiles an event pipeline.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/core/event/compiler.rb', line 11

def compile(pipeline)
  validate_events(pipeline)

  <<~CODE
    def performing(object, event, ...)
    #{compile_performing(pipeline)}
    end

    def starting(object, event, ...)
    #{compile_starting(pipeline)}
    end

    def finished(object, event, ...)
    #{compile_finished(pipeline)}
    end
  CODE
end