Class: Ocran::LauncherEventRecorder
- Inherits:
-
Object
- Object
- Ocran::LauncherEventRecorder
- 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
- #exec(image, script, *argv) ⇒ Object
- #export(name, value) ⇒ Object
-
#initialize(launcher) ⇒ LauncherEventRecorder
constructor
A new instance of LauncherEventRecorder.
- #replay(builder) ⇒ Object
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 |