Sha256: 7217804f70869e51f44118c97482f76535a7f1d9b74e7de0d507e5dc586170cb

Contents?: true

Size: 914 Bytes

Versions: 2

Compression:

Stored size: 914 Bytes

Contents

class Lanes.Testing.ModelSaver

    @setUser: (login)->
        Lanes.Testing.ModelSaver::headers['X_TESTING_USER']= login

    @perform: (model,completion)->
        saver = new Lanes.Testing.ModelSaver(completion)
        saver.save(model)

    headers:
        X_ROLLBACK_AFTER_REQUEST: true

    constructor: (@completion)->
        _.bindAll(this,'success','error')
        spyOn(this, 'success').and.callThrough()
        spyOn(this, 'error').and.callThrough()


    success: ->
        this.notification.resolve(this)
        _.defer(@completion) if @completion

    error: ->
        this.notification.resolve(this)
        _.defer(@completion) if @completion

    save: (model)->
        model.save(this.toOptions()).then(Lanes.emptyFn, Lanes.emptyFn)
        this.notification = new _.DeferredPromise
        this.notification.promise


    toOptions: ->
        _.pick(this,'headers','success','error')

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lanes-0.1.8 client/lanes/testing/ModelSaver.coffee
lanes-0.1.7 client/lanes/testing/ModelSaver.coffee