Exemple #1
0
 public CoffeeResult Compile(Action<CoffeeRequest> configure)
 {
     var request = new CoffeeRequest();
     configure(request);
     request.CreateCoffeeFile();
     return execute(request);
 }
Exemple #2
0
 public RunResult Run(CoffeeRequest request)
 {
     using (var process = startCoffee(buildArgs(request)))
     {
         process.WaitForExit();
         return new RunResult(process.ExitCode);
     }
 }
Exemple #3
0
        private static string buildArgs(CoffeeRequest request)
        {
            var files = request.RunFiles;

            var args = new StringBuilder();
            args.Append("-c");
            if (request.BareMode)
            {
                args.Append("b");
            }

            args.Append(" ");
            args.Append(FileEscape(files.CoffeeScript));
            args.Append(" ");
            args.Append(FileEscape(files.Error));

            return args.ToString();
        }
Exemple #4
0
        private CoffeeResult execute(CoffeeRequest request)
        {
            var coffeeResult = new CoffeeResult();
            var files = request.RunFiles;

            if(_runner.Run(request).Success)
            {
                coffeeResult.TransformedCode = files.ReadJavaScript();
                coffeeResult.Success = true;
            }
            else
            {
                coffeeResult.Error = files.ReadError();
                coffeeResult.Success = false;
            }

            files.DeleteFiles();

            return coffeeResult;
        }