Он не компилер, он интерпретатор.
По факту своя ком строка, которая понимает синтаксис Ruby
Сейчас проблема такая:
Код:
procedure TForm1.aRunExecute(Sender: TObject);
begin
aSave.Execute;
rLog.Items.Add('[' + TimeToStr(Now) + '] Running ' + rSave.FileName);
ShellExecute(0, 'open', 'cmd.exe', PWideChar('/k ruby ' + rSave.FileName),
'C:\Windows\system32\', SW_SHOW);
end;
если в rSave.FileName лежит строка с пробелами\русскими символами\символами типа !"№;%:?*()_ полный путь к интерпретируемому файлу обрывается