emberjs/ember.js — pull request #3565 by hjdivad (2013-10-09 23:57:44+00:00)
Title: [BUGFIX beta] uniq reduceComputed dependent keys.

If property brace expansion is enabled, there is never a need to have
duplicate dependent keys. However, with proeprty brace expansion
disabled, it is the only way to specify multiple item property keys, as in
the following:

```js

var obj = Em.Object.createWithMixins({
items: Em.A([{ foo: true }, { bar: false }, { bar: true }]),
countFooOrBar: Em.reduceComputed({
initialValue: 0,
addedItem: function (acc, item) {
if ( get(item, 'foo') || get(item, 'bar')) {
++acc;
}
return acc;
},

removedItem: function (acc, item) {
if ( get(item, 'foo') || get(item, 'bar')) {
--acc;
}
return acc;
}
}).property('items.@each.foo', 'items.@each.bar')
});
```

Of course, with property brace expansion, it would be better to write the
dependency as `property('items.@each.{foo,bar}')`.

Fix #3554.