spine/spine — pull request #494 by jcarlson (2013-08-17 00:44:38+00:00)
Title: Add Spine.Model#fetch and trigger 'refresh' on Spine.Model#reload

Back in this pull request that I submitted, an instance method called #refresh was introduced on Spine.Model. Now, however, I think there's a little confusion between what #reload does, and what #refresh does.

Looking at the code clarifies:

#reload reverts the instance to match the in-memory copy of the record.

#refresh(data) is called after fresh data has been retrieved from a backing storage mechanism and triggers the 'refresh' event.

I would propose a couple of things:

1) Spine.Model should gain an instance method called #fetch that would allow an instance to kick off a request to re-read data from the backing storage mechanism, much like the class-level ::fetch does.

2) #reload should trigger a 'refresh' event since it is (potentially) changing the values on the model, and any listeners would want to update themselves accordingly.