Merge deployConfig with a deployConfig from db in ctl

This commit is contained in:
Emily Stark
2013-07-19 17:19:23 -07:00
parent 9b24174e08
commit da3cd5d09e

View File

@@ -10,6 +10,19 @@ Ctl.Commands.push({
}
});
var mergeObjects = function (obj1, obj2) {
var result = _.clone(obj1);
_.each(obj2, function (v, k) {
// If both objects have an object at this key, then merge those objects.
// Otherwise, choose obj2's value.
if ((v instanceof Object) && (obj1[k] instanceof Object))
result[k] = mergeObjects(v, obj1[k]);
else
result[k] = v;
});
return result;
};
Ctl.Commands.push({
name: "start",
@@ -63,6 +76,11 @@ Ctl.Commands.push({
}
};
// Merge in any values that might have been added to the app's config in
// the database.
if (appConfig.deployConfig)
deployConfig = mergeObjects(deployConfig, appConfig.deployConfig);
// XXX args? env?
Ctl.prettyCall(Ctl.findGalaxy(), 'run', [Ctl.myAppName(), 'server', {
exitPolicy: 'restart',