Change ED's filter() calls to FilteredArrays

This commit is contained in:
Piotr Sarnacki 2013-07-31 13:42:06 +02:00
parent 9093b2a311
commit da9a34f06c
2 changed files with 26 additions and 9 deletions

View File

@ -113,15 +113,24 @@ require 'travis/model'
@Travis.Job.reopenClass
queued: (queue) ->
@find()
Travis.store.filter this, (job) ->
queued = ['created', 'queued'].indexOf(job.get('state')) != -1
# TODO: why queue is sometimes just common instead of build.common?
queued && (!queue || job.get('queue') == "builds.#{queue}" || job.get('queue') == queue)
Ember.FilteredRecordArray.create(
modelClass: Travis.Job
filterFunction: (job) ->
queued = ['created', 'queued'].indexOf(job.get('state')) != -1
# TODO: why queue is sometimes just common instead of build.common?
queued && (!queue || job.get('queue') == "builds.#{queue}" || job.get('queue') == queue)
filterProperties: ['state', 'queue']
)
running: ->
@find(state: 'started')
Travis.store.filter this, (job) ->
job.get('state') == 'started'
Ember.FilteredRecordArray.create(
modelClass: Travis.Job
filterFunction: (job) ->
job.get('state') == 'started'
filterProperties: ['state']
)
findMany: (ids) ->
Travis.store.findMany this, ids

View File

@ -118,7 +118,17 @@ require 'travis/model'
@find(search: query, orderBy: 'name')
withLastBuild: ->
@filter( (repo) -> (!repo.get('incomplete') || repo.isAttributeLoaded('lastBuildId')) && repo.get('lastBuildId') )
filtered = Ember.FilteredRecordArray.create(
modelClass: Travis.Repo
filterFunction: (repo) -> repo.get('lastBuildId')
filterProperties: ['lastBuildId']
)
Travis.Repo.fetch().then (array) ->
filtered.updateFilter()
filtered.set('isLoaded', true)
filtered
bySlug: (slug) ->
repo = $.select(@find().toArray(), (repo) -> repo.get('slug') == slug)
@ -126,5 +136,3 @@ require 'travis/model'
# buildURL: (slug) ->
# if slug then slug else 'repos'