Class: Ocran::LauncherEventRecorder

Inherits:
Object
  • Object
show all
Defined in:
lib/ocran/launcher_event_recorder.rb

Overview

Records launcher-directed build events (environment exports and the application exec command) while forwarding them to another launcher builder. The recorded events can later be replayed into a further builder — e.g. to produce a wrapper stub executable alongside the launcher batch file in Inno Setup builds.

Instance Method Summary collapse

Constructor Details

#initialize(launcher) ⇒ LauncherEventRecorder

Returns a new instance of LauncherEventRecorder.



10
11
12
13
# File 'lib/ocran/launcher_event_recorder.rb', line 10

def initialize(launcher)
  @launcher = launcher
  @events = []
end

Instance Method Details

#exec(image, script, *argv) ⇒ Object



20
21
22
23
# File 'lib/ocran/launcher_event_recorder.rb', line 20

def exec(image, script, *argv)
  @events << [:exec, image, script, *argv]
  @launcher.exec(image, script, *argv)
end

#export(name, value) ⇒ Object



15
16
17
18
# File 'lib/ocran/launcher_event_recorder.rb', line 15

def export(name, value)
  @events << [:export, name, value]
  @launcher.export(name, value)
end

#replay(builder) ⇒ Object



25
26
27
# File 'lib/ocran/launcher_event_recorder.rb', line 25

def replay(builder)
  @events.each { |event, *args| builder.public_send(event, *args) }
end