Makes sense! Thanks for sharing your findings. If you ever get a chance to
hop in #batmanjs, I'm generally in 9-5 Pacific time, would love to talk
about how to go about doing that.


On Wed, Mar 19, 2014 at 9:10 AM, Alex Angelini <notifications@github.com>wrote:

> In tests/batman/model/transaction_test.coffee:
>
> > +
> > +test 'changes made to the base object do not affect the transaction', ->
> > +  @base.set('banana', 'rama')
> > +  ok !@transaction.get('banana')
> > +
> > +test 'changes made to the transaction object do not affect the base', ->
> > +  @transaction.set('banana', 'rama')
> > +  ok !@base.get('banana')
> > +
> > +test 'applyChanges applies the changes in the transaction object to the base', ->
> > +  @transaction.set('banana', 'rama')
> > +  @transaction.applyChanges()
> > +  equal @base.get('banana'), 'rama'
> > +
> > +test 'save applies the changes in the transaction object and saves the object', ->
> > +  s = sinon.stub(Batman.Model.prototype, '_doStorageOperation', (callback) -> callback?(null, this))
>
> I had a branch that began splitting up the modules, and on paper it seemed
> like a very long but simple project.
>
> However, it turned out to be quite the feat, most of the problems were
> related to load timings and utility methods being extremely interconnected.
> It's still a project that I would love to pursue but doing it in one big
> push seems very unlikely and too brittle.
>
> I think the best approach to future modularization will be to split
> components one at a time instead of doing a single large split.
>
> --
> Reply to this email directly or view it on GitHub<https://github.com/batmanjs/batman/pull/992/files#r10756540>
> .
>