bem/bem-bl — pull request #329 by mdidkivskyi (2013-01-18 16:05:40+00:00)
Title: Added bem__dom-collection

i-bem__dom-collection - класс-обертка для списка блоков.
Класс позволяет выполнять методы блоков (список методов определен в классе) у всех блоков коллекции. Например:
```javascript
BEM.blocks['i-bem__dom-collection']
.create([, , .. ])
.setMod('cool', 'yes')
.on('click', function() { })
...
```

i-bem__dom_collection_yes - обертка для методов findBlocks*.
Обертка сделана таким образом, что методы findBlocks* возвращают i-bem__dom-collection. Для совместимости, i-bem__dom-collection унаследован от Array, что дает возможность использовать любой из методов прототипа Array:
```javascript
scope.findBlocksInside('b-block')
.some(function (block) {
return block.hasMod('use', 'yes');
});
```

Мотивом такой коллекции послужило желание перейти от такого написания кода:
```javascript
scope.findBlocksInside('b-block')
.forEach(function (block) {
block.setMod('cool', 'yes')
.on('click', this.handler, this);
}, scope);
```
к такому:
```javascript
scope.findBlocksInside('b-block')
.setMod('cool', 'yes')
.on('click', scope.handler, scope);
```