/** * */ package de.saumya.mojo.ruby.rails; import java.io.File; import de.saumya.mojo.ruby.gems.GemsConfig; public class RailsState { private final GemsConfig gemsConfig; private File launchDirectory; private boolean patched = false; private String model; public RailsState(final GemsConfig gemsConfig) { this.gemsConfig = gemsConfig; this.gemsConfig.setEnvironment("development"); } void setLaunchDirectory(final File launchDirectory) { this.launchDirectory = launchDirectory; } public File getLaunchDirectory() { if (this.launchDirectory == null) { return new File(System.getProperty("user.dir")); } else { return this.launchDirectory; } } public boolean isPatched() { return this.patched; } public void setPatched(final boolean patched) { this.patched = patched; } @Override public RailsState clone() { final RailsState clone = new RailsState(this.gemsConfig.clone()); clone.setLaunchDirectory(this.launchDirectory); clone.setModel(this.getModel()); return clone; } public void setModel(final String model) { this.model = model; } public String getModel() { return this.model; } public GemsConfig getRubygemsConfig() { return this.gemsConfig; } }