Modella allows you to create simple models in JavaScript. This is a guide on basic usage of Modella in CoffeeScript.
User = Modella('User')
.attr('name')
.attr('email', { required: true })
.use(require('modella-validators'))
.validator (u) ->
u.error('username', 'is required') unless u.has('username')
user
.on 'save', ->
.on 'create', ->
.on 'saving', (data, done) -> done()
.on 'remove', ->
.on 'removing', (data, done) -> done()
.on 'valid', ->
.on 'invalid', ->
.on 'change', ->
.on 'change email', ->
.on 'initializing', (instance, attrs) ->
.on 'initialize', ->
.on 'error', -> failed to save model
.on 'setting', (instance, attrs) -> # on Model#set()
.on 'attr', -> # new attr via Model.attr()