不要怂,就是干,撸起袖子干!

Commit d57a18f2 by Sascha Depold

minor refactoring + logic for valuesForUpdate

1 parent f22e5e65
Showing with 38 additions and 11 deletions
......@@ -124,18 +124,10 @@ var Helper = {
result = []
Helper.Hash.keys(actualValues).forEach(function(key) {
var value = null,
var value = actualValues[key],
dataType = object.attributes[key]
switch(dataType) {
case exports.Sequelize.INTEGER:
value = actualValues[key];
break;
default:
value = "'" + actualValues[key] + "'"
}
result.push(value)
result.push(Helper.transformValueByDataType(value, dataType))
})
return result
......@@ -145,8 +137,29 @@ var Helper = {
return Helper.Hash.keys(Helper.values(object)).join(", ")
},
get valuesForUpdate() {
transformValueByDataType: function(value, dataType) {
var result = null
switch(dataType) {
case exports.Sequelize.INTEGER:
result = value; break;
default:
result = "'" + value + "'"
}
return result
},
valuesForUpdate: function(object) {
var actualValues = Helper.values(object),
result = []
Helper.Hash.keys(actualValues).forEach(function(key) {
var value = actualValues[key],
dataType = object.attributes[key]
result.push([key, Helper.transformValueByDataType(value, dataType)].join(" = "))
})
return result.join(", ")
},
evaluateTemplate: function(template, replacements) {
......
......@@ -160,5 +160,18 @@ vows.describe('SequelizeHelper').addBatch({
'should be a comma seperated string': function(day) {
assert.equal(SequelizeHelper.fieldsForInsertQuery(day), "name, foo")
}
},
'valuesForUpdate': {
topic: function() {
var s = new Sequelize('sequelize_test', 'test', 'test')
var Day = s.define('Day', { name: Sequelize.STRING, foo: Sequelize.INTEGER })
return new Day({ name: 'Monday', foo: 2})
},
'should return a string': function(day) {
assert.isString(SequelizeHelper.valuesForUpdate(day))
},
'should correctly render data': function(day) {
assert.equal(SequelizeHelper.valuesForUpdate(day), "name = 'Monday', foo = 2")
}
}
}).export(module)
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!