39 lines
1.1 KiB
CoffeeScript
39 lines
1.1 KiB
CoffeeScript
require 'travis/model'
|
|
|
|
@Travis.WorkerGroup = Ember.ArrayProxy.extend
|
|
init: ->
|
|
@set('content', [])
|
|
|
|
host: (->
|
|
@getPath 'firstObject.host'
|
|
).property()
|
|
|
|
@Travis.Worker = Travis.Model.extend
|
|
state: DS.attr('string')
|
|
name: DS.attr('string')
|
|
host: DS.attr('string')
|
|
last_seen_at: DS.attr('string')
|
|
|
|
isTesting: (->
|
|
@get('state') == 'working' && !!@getPath('payload.config')
|
|
).property('state', 'config')
|
|
|
|
number: (->
|
|
@get('name').match(/\d+$/)[0]
|
|
).property('name')
|
|
|
|
display: (->
|
|
name = @get('name').replace('travis-', '')
|
|
state = @get('state')
|
|
payload = @get('payload')
|
|
if state == 'working' && payload != undefined
|
|
repo = if payload.repository then $.truncate(payload.repository.slug, 18) else undefined
|
|
number = if payload.build and payload.build.number then ' #' + payload.build.number else ''
|
|
state = if repo then repo + number else state
|
|
name + ': ' + state
|
|
).property('state')
|
|
|
|
urlJob: (->
|
|
'#!/%@/jobs/%@'.fmt @getPath('payload.repository.slug'), @getPath('payload.build.id')
|
|
).property('payload', 'state')
|