Don't return finishedAt, startedAt, duration for not started jobs/builds

This commit is contained in:
Piotr Sarnacki 2014-06-20 16:03:41 +02:00
parent e045ab7481
commit 6cb866408d
3 changed files with 35 additions and 5 deletions

View File

@ -10,8 +10,8 @@ require 'travis/model'
message: Ember.attr('string') message: Ember.attr('string')
_duration: Ember.attr(Number, key: 'duration') _duration: Ember.attr(Number, key: 'duration')
_config: Ember.attr('object', key: 'config') _config: Ember.attr('object', key: 'config')
startedAt: Ember.attr('string') _startedAt: Ember.attr('string', key: 'started_at')
finishedAt: Ember.attr('string') _finishedAt: Ember.attr('string', key: 'finished_at')
pullRequest: Ember.attr('boolean') pullRequest: Ember.attr('boolean')
pullRequestTitle: Ember.attr('string') pullRequestTitle: Ember.attr('string')
pullRequestNumber: Ember.attr(Number) pullRequestNumber: Ember.attr(Number)
@ -36,6 +36,20 @@ require 'travis/model'
@get('state') in ['passed', 'failed', 'errored', 'canceled'] @get('state') in ['passed', 'failed', 'errored', 'canceled']
).property('state') ).property('state')
notStarted: (->
@get('state') in ['queued', 'created']
).property('state')
startedAt: (->
unless @get('notStarted')
@get('_startedAt')
).property('_startedAt')
finishedAt: (->
unless @get('notStarted')
@get('_finishedAt')
).property('_finishedAt')
requiredJobs: (-> requiredJobs: (->
@get('jobs').filter (data) -> !data.get('allowFailure') @get('jobs').filter (data) -> !data.get('allowFailure')
).property('jobs.@each.allowFailure') ).property('jobs.@each.allowFailure')

View File

@ -1,6 +1,8 @@
Travis.DurationCalculations = Ember.Mixin.create Travis.DurationCalculations = Ember.Mixin.create
duration: (-> duration: (->
if duration = @get('_duration') if @get('notStarted')
null
else if duration = @get('_duration')
duration duration
else else
Travis.Helpers.durationFrom(@get('startedAt'), @get('finishedAt')) Travis.Helpers.durationFrom(@get('startedAt'), @get('finishedAt'))

View File

@ -9,8 +9,8 @@ require 'travis/model'
queue: Ember.attr('string') queue: Ember.attr('string')
state: Ember.attr('string') state: Ember.attr('string')
number: Ember.attr('string') number: Ember.attr('string')
startedAt: Ember.attr('string') _startedAt: Ember.attr('string', key: 'started_at')
finishedAt: Ember.attr('string') _finishedAt: Ember.attr('string', key: 'finished_at')
allowFailure: Ember.attr('boolean') allowFailure: Ember.attr('boolean')
repositorySlug: Ember.attr('string') repositorySlug: Ember.attr('string')
@ -27,6 +27,16 @@ require 'travis/model'
Travis.Log.create(job: this) Travis.Log.create(job: this)
).property() ).property()
startedAt: (->
unless @get('notStarted')
@get('_startedAt')
).property('_startedAt')
finishedAt: (->
unless @get('notStarted')
@get('_finishedAt')
).property('_finishedAt')
repoSlug: (-> repoSlug: (->
@get('repositorySlug') @get('repositorySlug')
).property('repositorySlug') ).property('repositorySlug')
@ -39,6 +49,10 @@ require 'travis/model'
@get('state') in ['passed', 'failed', 'errored', 'canceled'] @get('state') in ['passed', 'failed', 'errored', 'canceled']
).property('state') ).property('state')
notStarted: (->
@get('state') in ['queued', 'created']
).property('state')
clearLog: -> clearLog: ->
# This is needed if we don't want to fetch log just to clear it # This is needed if we don't want to fetch log just to clear it
if @get('isLogAccessed') if @get('isLogAccessed')