@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); } }