From 2723ae5c067b8270074eb68debf0724524a4522a Mon Sep 17 00:00:00 2001 From: Piotr Sarnacki Date: Wed, 23 Jan 2013 22:08:17 +0100 Subject: [PATCH] Find job for clearing logs only if it's already in store Otherwise we make ajax request every time job is created. --- assets/scripts/app/pusher.coffee | 4 ++-- assets/scripts/app/store.coffee | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/assets/scripts/app/pusher.coffee b/assets/scripts/app/pusher.coffee index 339a33e9..daa054ca 100644 --- a/assets/scripts/app/pusher.coffee +++ b/assets/scripts/app/pusher.coffee @@ -41,8 +41,8 @@ $.extend Travis.Pusher.prototype, # TODO remove job:requeued, once sf-restart-event has been merged # TODO this also needs to clear logs on build:created if matrix jobs are already loaded if event == 'job:created' || event == 'job:requeued' - job = Travis.Job.find(data.job.id) - job.clearLog() if job + if Travis.store.isInStore(Travis.Job, data.job.id) + Travis.Job.find(data.job.id).clearLog() Ember.run.next -> Travis.app.store.receive(event, data) diff --git a/assets/scripts/app/store.coffee b/assets/scripts/app/store.coffee index 4b5e14e2..2ad698cb 100644 --- a/assets/scripts/app/store.coffee +++ b/assets/scripts/app/store.coffee @@ -67,6 +67,9 @@ Travis.Store = DS.Store.extend { id: id, clientId: clientId } + isInStore: (type, id) -> + !!@typeMapFor(type).idToCid[id] + receive: (event, data) -> [name, type] = event.split(':')