{"push_id":899025887,"size":8,"distinct_size":8,"ref":"refs/heads/lowjoel/no-polling-waits","head":"d3ca6d39efc0238c203081c242a867a4988c0b23","before":"4adb59d3e815121d1b40ffe3d219f5292139b35e","commits":[{"sha":"dbe697498f61ca667eb46d35b6955259bed3fda3","author":{"email":"4b5a6046e618a3eb12365a45d2645f9e0798defd@163.com","name":"Zihuan Xu"},"message":"Add Forum related abilities","distinct":true,"url":"https://api.github.com/repos/coursemology-collab/coursemology2/commits/dbe697498f61ca667eb46d35b6955259bed3fda3"},{"sha":"bbe41d4d826836929e30cae50f9350da4a97803d","author":{"email":"4b5a6046e618a3eb12365a45d2645f9e0798defd@163.com","name":"Zihuan Xu"},"message":"Modify Forum related views to support the abilities","distinct":true,"url":"https://api.github.com/repos/coursemology-collab/coursemology2/commits/bbe41d4d826836929e30cae50f9350da4a97803d"},{"sha":"4fbf73d6b40eddfd18fcf67c6b76af9db851474b","author":{"email":"4b5a6046e618a3eb12365a45d2645f9e0798defd@163.com","name":"Zihuan Xu"},"message":"Add Forum ability related specs","distinct":true,"url":"https://api.github.com/repos/coursemology-collab/coursemology2/commits/4fbf73d6b40eddfd18fcf67c6b76af9db851474b"},{"sha":"d1a12038aebffdb957bcc3b6a0e9e9ce0860d983","author":{"email":"4816dabf8db1bc6cac35b3a24cab2ff844b5b0c7@joelsplace.sg","name":"Joel Low"},"message":"Merge pull request #648 from xzhflying/forum_ability\n\nAdd forum abilities","distinct":true,"url":"https://api.github.com/repos/coursemology-collab/coursemology2/commits/d1a12038aebffdb957bcc3b6a0e9e9ce0860d983"},{"sha":"bd1b30439abe04fe2fffb4520e91662ce8f0daae","author":{"email":"ab6d1f30bbc9123345f16c59834bf27a63fb5e36@comp.nus.edu.sg","name":"WANG QIANG"},"message":"Merge pull request #652 from coursemology-collab/lowjoel/postgres-notify\n\nImplement events over database records","distinct":true,"url":"https://api.github.com/repos/coursemology-collab/coursemology2/commits/bd1b30439abe04fe2fffb4520e91662ce8f0daae"},{"sha":"ff1edc2fd33dfa3414ab24497bb3c597fca8422d","author":{"email":"4816dabf8db1bc6cac35b3a24cab2ff844b5b0c7@joelsplace.sg","name":"Joel Low"},"message":"Fix deserialisation of zero-argument jobs.\n\nThe old algorithm did not properly deserialize the trackable job record associated with zero-argument jobs, because #deserialize_arguments was not called.","distinct":true,"url":"https://api.github.com/repos/coursemology-collab/coursemology2/commits/ff1edc2fd33dfa3414ab24497bb3c597fca8422d"},{"sha":"15f009d1169afe4ff367a3cf5a6a478fb6e1fa6a","author":{"email":"4816dabf8db1bc6cac35b3a24cab2ff844b5b0c7@joelsplace.sg","name":"Joel Low"},"message":"Implement `TrackableJob#wait`.\n\nThis will wait until the timeout has elapsed, or the the job has finished.","distinct":true,"url":"https://api.github.com/repos/coursemology-collab/coursemology2/commits/15f009d1169afe4ff367a3cf5a6a478fb6e1fa6a"},{"sha":"d3ca6d39efc0238c203081c242a867a4988c0b23","author":{"email":"4816dabf8db1bc6cac35b3a24cab2ff844b5b0c7@joelsplace.sg","name":"Joel Low"},"message":"Remove polling waits on records.\n\nUse the `ActiveRecord::Base#notify` and `ActiveRecord::Base#signal` methods for efficiency.","distinct":true,"url":"https://api.github.com/repos/coursemology-collab/coursemology2/commits/d3ca6d39efc0238c203081c242a867a4988c0b23"}]}