@Override
  public void deploy(DeploymentUnit unit) throws DeploymentException {
    log.debug("Deploying rails app as rack: " + unit);
    RailsApplicationMetaData railsAppMetaData = unit.getAttachment(RailsApplicationMetaData.class);

    try {
      RackApplicationMetaData rackMetaData = unit.getAttachment(RackApplicationMetaData.class);

      log.info(rackMetaData);
      log.info(railsAppMetaData);

      if (railsAppMetaData.isRails3()) {
        log.debug("Configuring up a rails 3 application: " + unit);
        rackMetaData.setRackUpScriptLocation("config.ru");
      } else {
        log.debug("Configuring up a rails 2 application: " + unit);
        rackMetaData.setRackUpScript(getRackUpScript(rackMetaData.getContextPath()));
        rackMetaData.setRackUpScriptLocation(null);
      }

      rackMetaData.setStaticPathPrefix(STATIC_PATH_PREFIX);
      log.debug("Configured rack deployment: " + unit + "\n" + rackMetaData);
    } catch (Exception e) {
      throw new DeploymentException(e);
    }
  }