Skip to content

Instantly share code, notes, and snippets.

@svasva
Last active December 20, 2015 01:19
Show Gist options
  • Save svasva/6048341 to your computer and use it in GitHub Desktop.
Save svasva/6048341 to your computer and use it in GitHub Desktop.
Meteor.publish 'order_book', (pairId) ->
return unless pairId
selector =
pairId: pairId
complete: false
cancelled: false
bids = {}
asks = {}
obs = Orders.find(selector).observe
changed: (oldOrder, newOrder) =>
console.log oldOrder, newOrder
class @Order
doWithLock: (func) ->
try
Orders.update(@_id, $set: {locked: true})
func()
finally
Orders.update(@_id, $set: {locked: false})
cancel: ->
@doWithLock =>
@unlockFunds()
Orders.update(@_id, $set: {cancelled: true})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment