refactor and add sidebar
This commit is contained in:
parent
ee0a489832
commit
0e361e9a25
|
@ -34,10 +34,6 @@ input 'assets/javascripts' do
|
|||
concat 'app/templates.js'
|
||||
end
|
||||
|
||||
match 'mocks.js' do
|
||||
concat 'mocks.js'
|
||||
end
|
||||
|
||||
match '{app,config,lib}/**/*.js' do
|
||||
minispade(
|
||||
string: true,
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
require 'hax0rs'
|
||||
require 'ext/jquery'
|
||||
|
||||
# $.mockjaxSettings.log = false
|
||||
# Ember.LOG_BINDINGS = true
|
||||
|
@ -6,6 +7,19 @@ require 'hax0rs'
|
|||
@Travis = Em.Namespace.create
|
||||
CONFIG_KEYS: ['rvm', 'gemfile', 'env', 'otp_release', 'php', 'node_js', 'perl', 'python', 'scala']
|
||||
|
||||
# QUEUES: [
|
||||
# { name: 'common', display: 'Common' },
|
||||
# { name: 'php', display: 'PHP, Perl and Python' },
|
||||
# { name: 'node_js', display: 'Node.js' },
|
||||
# { name: 'jvmotp', display: 'JVM and Erlang' },
|
||||
# { name: 'rails', display: 'Rails' },
|
||||
# { name: 'spree', display: 'Spree' },
|
||||
# ],
|
||||
QUEUES: [
|
||||
{ name: 'common', display: 'Common' },
|
||||
{ name: 'jvmotp', display: 'JVM and Erlang' },
|
||||
],
|
||||
|
||||
run: ->
|
||||
@app = Travis.App.create(this)
|
||||
@app.initialize()
|
||||
|
@ -17,7 +31,6 @@ require 'hax0rs'
|
|||
@_super(Em.Object.create())
|
||||
@routes.start()
|
||||
|
||||
require 'ext/jquery'
|
||||
require 'controllers'
|
||||
require 'helpers'
|
||||
require 'layout'
|
||||
|
|
|
@ -1,12 +1,24 @@
|
|||
require 'helpers'
|
||||
|
||||
Travis.Controllers =
|
||||
ApplicationController: Em.Controller.extend()
|
||||
Travis.Controllers = Em.Namespace.create
|
||||
AppController: Em.Controller.extend()
|
||||
RepositoriesController: Em.ArrayController.extend()
|
||||
RepositoryController: Em.ObjectController.extend(Travis.Urls.Repository)
|
||||
TabsController: Em.Controller.extend()
|
||||
BuildsController: Em.ArrayController.extend()
|
||||
BuildController: Em.ObjectController.extend(Travis.Urls.Commit)
|
||||
JobController: Em.ObjectController.extend(Travis.Urls.Commit)
|
||||
SidebarController: Em.Controller.extend()
|
||||
QueuesController: Em.ArrayController.extend()
|
||||
|
||||
WorkersController: Em.ArrayController.extend
|
||||
groups: (->
|
||||
groups = {}
|
||||
for worker in @get('content').toArray()
|
||||
host = worker.get('host')
|
||||
groups[host] = Em.ArrayProxy.create(content: []) if !(host in groups)
|
||||
groups[host].pushObject(worker)
|
||||
$.values(groups)
|
||||
).property('content.length')
|
||||
|
||||
|
||||
|
|
11
assets/javascripts/app/layout.coffee
Normal file
11
assets/javascripts/app/layout.coffee
Normal file
|
@ -0,0 +1,11 @@
|
|||
Travis.Layout = Em.Namespace.create()
|
||||
Travis.Layout.instance = (name) ->
|
||||
if @layout && @layout.name == name
|
||||
@layout
|
||||
else
|
||||
@layout = Travis.Layout[name].create(name: name)
|
||||
|
||||
require 'layout/default'
|
||||
require 'layout/sidebar'
|
||||
require 'layout/profile'
|
||||
|
20
assets/javascripts/app/layout/base.coffee
Normal file
20
assets/javascripts/app/layout/base.coffee
Normal file
|
@ -0,0 +1,20 @@
|
|||
Travis.Layout.Base = Em.Object.extend
|
||||
init: ->
|
||||
@setup(arguments)
|
||||
@connect()
|
||||
|
||||
setup: (controllers) ->
|
||||
$.extend this, Travis.Controllers
|
||||
$.extend this, Travis.Views
|
||||
|
||||
for name in controllers
|
||||
key = "#{name}Controller"
|
||||
name = $.camelize(key)
|
||||
this[key] = Travis.Controllers[name].create(namespace: this, controllers: this)
|
||||
|
||||
connect: ->
|
||||
view = Em.View.create(templateName: "layouts/#{@get('name').toLowerCase()}")
|
||||
view.set('controller', @appController)
|
||||
view.appendTo(@get('rootElement') || 'body')
|
||||
|
||||
|
|
@ -1,12 +1,14 @@
|
|||
Travis.Layout.Default = Travis.Layout.extend
|
||||
require 'layout/base'
|
||||
|
||||
Travis.Layout.Default = Travis.Layout.Base.extend
|
||||
init: ->
|
||||
@_super()
|
||||
@_super('app', 'repositories', 'repository', 'tabs', 'build', 'job')
|
||||
@connectLeft(Travis.Repository.find())
|
||||
Travis.Layout.Sidebar.create(appController: @get('appController'))
|
||||
|
||||
viewIndex: (params) ->
|
||||
repositories = @get('repositories')
|
||||
onceLoaded repositories, =>
|
||||
repository = repositories.get('firstObject')
|
||||
onceLoaded @repositories, =>
|
||||
repository = @repositories.get('firstObject')
|
||||
@connectRepository(repository)
|
||||
@connectTabs()
|
||||
@connectBuild(repository.get('lastBuild'))
|
||||
|
@ -56,26 +58,26 @@ Travis.Layout.Default = Travis.Layout.extend
|
|||
|
||||
|
||||
connectLeft: (repositories) ->
|
||||
@set('repositories', repositories)
|
||||
@get('applicationController').connectOutlet(outletName: 'left', name: 'repositories', context: repositories)
|
||||
@repositories = repositories
|
||||
@appController.connectOutlet(outletName: 'left', name: 'repositories', context: repositories)
|
||||
|
||||
connectRepository: (repository) ->
|
||||
@set('repository', repository)
|
||||
@get('applicationController').connectOutlet(outletName: 'main', name: 'repository', context: repository)
|
||||
@repository = repository
|
||||
@appController.connectOutlet(outletName: 'main', name: 'repository', context: repository)
|
||||
|
||||
connectTabs: (build, job) ->
|
||||
@setPath('tabsController.repository', @get('repository'))
|
||||
@setPath('tabsController.build', build)
|
||||
@setPath('tabsController.job', job)
|
||||
@get('repositoryController').connectOutlet(outletName: 'tabs', name: 'tabs')
|
||||
@tabsController.set('repository', @repository)
|
||||
@tabsController.set('build', @build)
|
||||
@tabsController.set('job', @job)
|
||||
@repositoryController.connectOutlet(outletName: 'tabs', name: 'tabs')
|
||||
|
||||
connectBuilds: (builds) ->
|
||||
@get('repositoryController').connectOutlet(outletName: 'tab', name: 'history', context: builds)
|
||||
@repositoryController.connectOutlet(outletName: 'tab', name: 'builds', context: builds)
|
||||
|
||||
connectBuild: (build) ->
|
||||
@get('repositoryController').connectOutlet(outletName: 'tab', name: 'build', context: build)
|
||||
@repositoryController.connectOutlet(outletName: 'tab', name: 'build', context: build)
|
||||
|
||||
connectJob: (job) ->
|
||||
@get('repositoryController').connectOutlet(outletName: 'tab', name: 'job', context: job)
|
||||
@repositoryController.connectOutlet(outletName: 'tab', name: 'job', context: job)
|
||||
|
||||
|
7
assets/javascripts/app/layout/profile.coffee
Normal file
7
assets/javascripts/app/layout/profile.coffee
Normal file
|
@ -0,0 +1,7 @@
|
|||
require 'layout/base'
|
||||
|
||||
Travis.Layout.Profile = Travis.Layout.Base.extend
|
||||
name: 'default'
|
||||
|
||||
init: ->
|
||||
|
24
assets/javascripts/app/layout/sidebar.coffee
Normal file
24
assets/javascripts/app/layout/sidebar.coffee
Normal file
|
@ -0,0 +1,24 @@
|
|||
require 'layout/base'
|
||||
|
||||
Travis.Layout.Sidebar = Travis.Layout.Base.extend
|
||||
init: ->
|
||||
@_super('sidebar', 'workers', 'queues')
|
||||
@appController = @get('appController')
|
||||
@connectWorkers(Travis.Worker.find())
|
||||
@connectQueues(Travis.QUEUES)
|
||||
|
||||
connect: ->
|
||||
@appController.connectOutlet(outletName: 'right', name: 'sidebar')
|
||||
|
||||
connectWorkers: (workers) ->
|
||||
@workersController.set('content', workers)
|
||||
@appController.set('workers', @workersController)
|
||||
|
||||
connectQueues: (queues) ->
|
||||
queues = for queue in queues
|
||||
Em.ArrayController.create
|
||||
content: Travis.Job.queued(queue.name)
|
||||
name: queue.display
|
||||
@queuesController.set('content', queues)
|
||||
@appController.set('queues', @queuesController)
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
Travis.Layout = Em.Object.extend
|
||||
init: ->
|
||||
@setupControllers()
|
||||
@setupViews()
|
||||
@connectLeft(Travis.Repository.find())
|
||||
|
||||
setupControllers: ->
|
||||
$.extend this, Travis.Controllers
|
||||
for name, controller of Travis.Controllers
|
||||
name = name.charAt(0).toLowerCase() + name.substr(1)
|
||||
this[name] = controller.create(namespace: this, controllers: this)
|
||||
|
||||
setupViews: ->
|
||||
$.extend this, Travis.Views
|
||||
view = Travis.Views.ApplicationView.create()
|
||||
view.set('controller', @applicationController)
|
||||
view.appendTo(@get('rootElement') || 'body')
|
||||
|
||||
Travis.Layout.instance = (name) ->
|
||||
if @layout && @layout.name == name
|
||||
@layout
|
||||
else
|
||||
@layout = Travis.Layout[name].create(name: name)
|
||||
|
||||
require 'layouts/default'
|
||||
require 'layouts/profile'
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Travis.Layout.Profile = Travis.Layout.extend
|
||||
init: ->
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
require 'models/artifact'
|
||||
require 'models/build'
|
||||
require 'models/repository'
|
||||
require 'models/commit'
|
||||
require 'models/job'
|
||||
require 'models/artifact'
|
||||
require 'models/repository'
|
||||
require 'models/worker'
|
||||
|
||||
|
|
|
@ -48,8 +48,9 @@ require 'travis/model'
|
|||
|
||||
@Travis.Job.reopenClass
|
||||
queued: (queue) ->
|
||||
@all()
|
||||
@find()
|
||||
Travis.app.store.filter this, (job) -> job.get('queue') == 'builds.' + queue
|
||||
|
||||
findMany: (ids) ->
|
||||
Travis.app.store.findMany this, ids
|
||||
|
||||
|
|
|
@ -1,13 +1,5 @@
|
|||
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')
|
||||
|
@ -34,5 +26,5 @@ require 'travis/model'
|
|||
).property('state')
|
||||
|
||||
urlJob: (->
|
||||
'#!/%@/jobs/%@'.fmt @getPath('payload.repository.slug'), @getPath('payload.build.id')
|
||||
).property('payload', 'state')
|
||||
"#!/#{@getPath('payload.repository.slug')}/jobs/#{@getPath('payload.build.id')}"
|
||||
).property('payload')
|
||||
|
|
|
@ -10,3 +10,7 @@
|
|||
<div id="main">
|
||||
{{outlet main}}
|
||||
</div>
|
||||
|
||||
<div id="right">
|
||||
{{outlet right}}
|
||||
</div>
|
9
assets/javascripts/app/templates/layouts/profile.hbs
Normal file
9
assets/javascripts/app/templates/layouts/profile.hbs
Normal file
|
@ -0,0 +1,9 @@
|
|||
<div id="head">
|
||||
<a href="#">Travis CI</a>
|
||||
<a href="#!/profile">Profile</a>
|
||||
</div>
|
||||
|
||||
<div id="main">
|
||||
{{outlet main}}
|
||||
</div>
|
||||
|
40
assets/javascripts/app/templates/layouts/sidebar.hbs
Normal file
40
assets/javascripts/app/templates/layouts/sidebar.hbs
Normal file
|
@ -0,0 +1,40 @@
|
|||
<div id="right" class="maximized">
|
||||
<div class="slider"><div class='icon'></div> </div>
|
||||
<div class="inner"><div class='wrapper'>
|
||||
<!--
|
||||
<h4>{{t layouts.application.sponsers}}</h4>
|
||||
<div class="sponsors top"></div>
|
||||
<p class="hint"><a href="https://love.travis-ci.org/sponsors">{{{t layouts.application.sponsors_link}}}</a></p>
|
||||
-->
|
||||
|
||||
{{view Travis.Views.WorkersView groupsBinding="controller.workers" id="workers"}}
|
||||
{{view Travis.Views.QueuesView queuesBinding="controller.queues" id="queues"}}
|
||||
|
||||
<!--
|
||||
<div class="box">
|
||||
<h4>{{t layouts.application.sponsers}}</h4>
|
||||
<div class="sponsors bottom"></div>
|
||||
</div>
|
||||
|
||||
<div id="alpha_warning" class="box">
|
||||
<h4>{{t layouts.about.alpha}}</h4>
|
||||
<p>{{{t layouts.about.messages.alpha}}}</p>
|
||||
</div>
|
||||
<div id="about" class="box">
|
||||
<h4>{{t layouts.about.join}}</h4>
|
||||
<ul>
|
||||
<li>{{t layouts.about.repository}}: <a href="http://github.com/travis-ci">Github</a></li>
|
||||
<li>{{t layouts.about.twitter}}: <a href="http://twitter.com/travisci">@travisci</a></li>
|
||||
<li>{{t layouts.about.mailing_list}}: <a href="http://groups.google.com/group/travis-ci">travis-ci</a></li>
|
||||
<li><a href="irc://irc.freenode.net#travis">irc.freenode.net#travis</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
-->
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div id="github">
|
||||
<a href="https://github.com/travis-ci" title="Fork me on GitHub">{{t layouts.application.fork_me}}</a>
|
||||
</div>
|
||||
-->
|
15
assets/javascripts/app/templates/queues/list.hbs
Normal file
15
assets/javascripts/app/templates/queues/list.hbs
Normal file
|
@ -0,0 +1,15 @@
|
|||
{{#each queue in queues}}
|
||||
<h4>{{t queue}}: {{queue.name}}</h4>
|
||||
<ul>
|
||||
{{#each queue}}
|
||||
<li>
|
||||
{{repository.slug}}
|
||||
{{#if number}}
|
||||
#{{number}}
|
||||
{{/if}}
|
||||
</li>
|
||||
{{else}}
|
||||
{{t no_job}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
22
assets/javascripts/app/templates/workers/list.hbs
Normal file
22
assets/javascripts/app/templates/workers/list.hbs
Normal file
|
@ -0,0 +1,22 @@
|
|||
<h4>{{t workers}}</h4>
|
||||
<ul>
|
||||
{{#each group in workers.groups}}
|
||||
<li class="group">
|
||||
<h5>{{group.firstObject.host}}</h5>
|
||||
<ul>
|
||||
{{#each group}}
|
||||
<li class="worker">
|
||||
{{#if isTesting}}
|
||||
<a {{bindAttr href="urlJob"}} {{bindAttr title="lastSeenAt"}}>{{display}}</a>
|
||||
{{else}}
|
||||
<span {{bindAttr title="lastSeenAt"}}>{{display}}</span>
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</li>
|
||||
{{else}}
|
||||
No workers
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
|
@ -1,9 +1,12 @@
|
|||
require 'ext/ember/namespace'
|
||||
|
||||
@Travis.Views = Em.Namespace.create()
|
||||
@Travis.Views = Em.Namespace.create
|
||||
SidebarView: Em.View.extend(templateName: 'layouts/sidebar')
|
||||
QueuesView: Em.View.extend(templateName: 'queues/list')
|
||||
WorkersView: Em.View.extend(templateName: 'workers/list')
|
||||
|
||||
require 'views/app'
|
||||
require 'views/build'
|
||||
require 'views/job'
|
||||
require 'views/repo'
|
||||
require 'views/tabs'
|
||||
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
Travis.Views.reopen
|
||||
ApplicationView: Em.View.extend
|
||||
templateName: 'application'
|
|
@ -1,3 +1,5 @@
|
|||
require 'ext/jquery'
|
||||
|
||||
responseTime = 0
|
||||
|
||||
repositories = [
|
||||
|
@ -26,6 +28,8 @@ jobs = [
|
|||
{ id: 3, repository_id: 1, build_id: 2, commit_id: 2, log_id: 3, number: '2.1', config: { rvm: 'rbx' } }
|
||||
{ id: 4, repository_id: 2, build_id: 3, commit_id: 3, log_id: 4, number: '3.1', config: { rvm: 'rbx' }, finished_at: '2012-06-20T00:21:20Z', duration: 35, result: 0 }
|
||||
{ id: 5, repository_id: 3, build_id: 4, commit_id: 4, log_id: 5, number: '4.1', config: { rvm: 'rbx' } }
|
||||
{ id: 6, repository_id: 1, build_id: 5, commit_id: 5, log_id: 5, number: '5.1', config: { rvm: 'rbx' }, state: 'created', queue: 'builds.common' }
|
||||
{ id: 7, repository_id: 1, build_id: 5, commit_id: 5, log_id: 5, number: '5.2', config: { rvm: 'rbx' }, state: 'created', queue: 'builds.common' }
|
||||
]
|
||||
|
||||
artifacts = [
|
||||
|
@ -36,6 +40,11 @@ artifacts = [
|
|||
{ id: 5, body: 'log 4' }
|
||||
]
|
||||
|
||||
workers = [
|
||||
{ id: 1, name: 'ruby-1', host: 'worker.travis-ci.org', state: 'ready' }
|
||||
{ id: 2, name: 'ruby-2', host: 'worker.travis-ci.org', state: 'ready' }
|
||||
]
|
||||
|
||||
$.mockjax
|
||||
url: '/repositories'
|
||||
responseTime: responseTime
|
||||
|
@ -80,4 +89,13 @@ for artifact in artifacts
|
|||
responseText:
|
||||
artifact: artifact
|
||||
|
||||
$.mockjax
|
||||
url: '/workers'
|
||||
responseTime: responseTime
|
||||
responseText: { workers: workers }
|
||||
|
||||
$.mockjax
|
||||
url: '/jobs'
|
||||
responseTime: responseTime
|
||||
responseText:
|
||||
jobs: $.select(jobs, (job) -> job.state == 'created')
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
<title>Travis CI - Distributed Continuous Integration Platform for the Open Source Community</title>
|
||||
<link rel="stylesheet" href="stylesheets/application.css">
|
||||
<script src="javascripts/vendor.js"></script>
|
||||
<script src="javascripts/mocks.js"></script>
|
||||
<script src="javascripts/application.js"></script>
|
||||
<script>
|
||||
minispade.require('mocks')
|
||||
minispade.require('app')
|
||||
Travis.run()
|
||||
</script>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,299 +0,0 @@
|
|||
(function() {
|
||||
var artifact, artifacts, build, builds, commits, id, job, jobs, repositories, repository, responseTime, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _m;
|
||||
|
||||
responseTime = 0;
|
||||
|
||||
repositories = [
|
||||
{
|
||||
id: 1,
|
||||
owner: 'travis-ci',
|
||||
name: 'travis-core',
|
||||
slug: 'travis-ci/travis-core',
|
||||
build_ids: [1, 2],
|
||||
last_build_id: 1,
|
||||
last_build_number: 1,
|
||||
last_build_result: 0
|
||||
}, {
|
||||
id: 2,
|
||||
owner: 'travis-ci',
|
||||
name: 'travis-assets',
|
||||
slug: 'travis-ci/travis-assets',
|
||||
build_ids: [3],
|
||||
last_build_id: 3,
|
||||
last_build_number: 3
|
||||
}, {
|
||||
id: 3,
|
||||
owner: 'travis-ci',
|
||||
name: 'travis-hub',
|
||||
slug: 'travis-ci/travis-hub',
|
||||
build_ids: [4],
|
||||
last_build_id: 4,
|
||||
last_build_number: 4
|
||||
}
|
||||
];
|
||||
|
||||
builds = [
|
||||
{
|
||||
id: 1,
|
||||
repository_id: '1',
|
||||
commit_id: 1,
|
||||
job_ids: [1, 2],
|
||||
number: 1,
|
||||
event_type: 'push',
|
||||
config: {
|
||||
rvm: ['rbx', '1.9.3']
|
||||
},
|
||||
finished_at: '2012-06-20T00:21:20Z',
|
||||
duration: 35,
|
||||
result: 0
|
||||
}, {
|
||||
id: 2,
|
||||
repository_id: '1',
|
||||
commit_id: 2,
|
||||
job_ids: [3],
|
||||
number: 2,
|
||||
event_type: 'push',
|
||||
config: {
|
||||
rvm: ['rbx']
|
||||
}
|
||||
}, {
|
||||
id: 3,
|
||||
repository_id: '2',
|
||||
commit_id: 3,
|
||||
job_ids: [4],
|
||||
number: 3,
|
||||
event_type: 'push',
|
||||
config: {
|
||||
rvm: ['rbx']
|
||||
},
|
||||
finished_at: '2012-06-20T00:21:20Z',
|
||||
duration: 35,
|
||||
result: 0
|
||||
}, {
|
||||
id: 4,
|
||||
repository_id: '3',
|
||||
commit_id: 4,
|
||||
job_ids: [5],
|
||||
number: 4,
|
||||
event_type: 'push',
|
||||
config: {
|
||||
rvm: ['rbx']
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
commits = [
|
||||
{
|
||||
id: 1,
|
||||
sha: '1234567',
|
||||
branch: 'master',
|
||||
message: 'commit message 1',
|
||||
author_name: 'author name',
|
||||
author_email: 'author@email.com',
|
||||
compare_url: 'http://github.com/compare/0123456..1234567'
|
||||
}, {
|
||||
id: 2,
|
||||
sha: '2345678',
|
||||
branch: 'feature',
|
||||
message: 'commit message 2',
|
||||
author_name: 'author name',
|
||||
author_email: 'author@email.com',
|
||||
compare_url: 'http://github.com/compare/0123456..2345678'
|
||||
}, {
|
||||
id: 3,
|
||||
sha: '3456789',
|
||||
branch: 'master',
|
||||
message: 'commit message 3',
|
||||
author_name: 'author name',
|
||||
author_email: 'author@email.com',
|
||||
compare_url: 'http://github.com/compare/0123456..3456789'
|
||||
}, {
|
||||
id: 4,
|
||||
sha: '4567890',
|
||||
branch: 'master',
|
||||
message: 'commit message 4',
|
||||
author_name: 'author name',
|
||||
author_email: 'author@email.com',
|
||||
compare_url: 'http://github.com/compare/0123456..4567890'
|
||||
}
|
||||
];
|
||||
|
||||
jobs = [
|
||||
{
|
||||
id: 1,
|
||||
repository_id: 1,
|
||||
build_id: 1,
|
||||
commit_id: 1,
|
||||
log_id: 1,
|
||||
number: '1.1',
|
||||
config: {
|
||||
rvm: 'rbx'
|
||||
},
|
||||
finished_at: '2012-06-20T00:21:20Z',
|
||||
duration: 35,
|
||||
result: 0
|
||||
}, {
|
||||
id: 2,
|
||||
repository_id: 1,
|
||||
build_id: 1,
|
||||
commit_id: 1,
|
||||
log_id: 2,
|
||||
number: '1.2',
|
||||
config: {
|
||||
rvm: '1.9.3'
|
||||
}
|
||||
}, {
|
||||
id: 3,
|
||||
repository_id: 1,
|
||||
build_id: 2,
|
||||
commit_id: 2,
|
||||
log_id: 3,
|
||||
number: '2.1',
|
||||
config: {
|
||||
rvm: 'rbx'
|
||||
}
|
||||
}, {
|
||||
id: 4,
|
||||
repository_id: 2,
|
||||
build_id: 3,
|
||||
commit_id: 3,
|
||||
log_id: 4,
|
||||
number: '3.1',
|
||||
config: {
|
||||
rvm: 'rbx'
|
||||
},
|
||||
finished_at: '2012-06-20T00:21:20Z',
|
||||
duration: 35,
|
||||
result: 0
|
||||
}, {
|
||||
id: 5,
|
||||
repository_id: 3,
|
||||
build_id: 4,
|
||||
commit_id: 4,
|
||||
log_id: 5,
|
||||
number: '4.1',
|
||||
config: {
|
||||
rvm: 'rbx'
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
artifacts = [
|
||||
{
|
||||
id: 1,
|
||||
body: 'log 1'
|
||||
}, {
|
||||
id: 2,
|
||||
body: 'log 2'
|
||||
}, {
|
||||
id: 3,
|
||||
body: 'log 3'
|
||||
}, {
|
||||
id: 4,
|
||||
body: 'log 4'
|
||||
}, {
|
||||
id: 5,
|
||||
body: 'log 4'
|
||||
}
|
||||
];
|
||||
|
||||
$.mockjax({
|
||||
url: '/repositories',
|
||||
responseTime: responseTime,
|
||||
responseText: {
|
||||
repositories: repositories
|
||||
}
|
||||
});
|
||||
|
||||
for (_i = 0, _len = repositories.length; _i < _len; _i++) {
|
||||
repository = repositories[_i];
|
||||
$.mockjax({
|
||||
url: '/' + repository.slug,
|
||||
responseTime: responseTime,
|
||||
responseText: {
|
||||
repository: repository
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
for (_j = 0, _len1 = builds.length; _j < _len1; _j++) {
|
||||
build = builds[_j];
|
||||
$.mockjax({
|
||||
url: '/builds/' + build.id,
|
||||
responseTime: responseTime,
|
||||
responseText: {
|
||||
build: build,
|
||||
commit: commits[build.commit_id - 1],
|
||||
jobs: (function() {
|
||||
var _k, _len2, _ref, _results;
|
||||
_ref = build.job_ids;
|
||||
_results = [];
|
||||
for (_k = 0, _len2 = _ref.length; _k < _len2; _k++) {
|
||||
id = _ref[_k];
|
||||
_results.push(jobs[id - 1]);
|
||||
}
|
||||
return _results;
|
||||
})()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
for (_k = 0, _len2 = repositories.length; _k < _len2; _k++) {
|
||||
repository = repositories[_k];
|
||||
$.mockjax({
|
||||
url: '/builds',
|
||||
data: {
|
||||
repository_id: repository.id,
|
||||
event_type: 'push',
|
||||
orderBy: 'number DESC'
|
||||
},
|
||||
responseTime: responseTime,
|
||||
responseText: {
|
||||
builds: (function() {
|
||||
var _l, _len3, _ref, _results;
|
||||
_ref = repository.build_ids;
|
||||
_results = [];
|
||||
for (_l = 0, _len3 = _ref.length; _l < _len3; _l++) {
|
||||
id = _ref[_l];
|
||||
_results.push(builds[id - 1]);
|
||||
}
|
||||
return _results;
|
||||
})(),
|
||||
commits: (function() {
|
||||
var _l, _len3, _ref, _results;
|
||||
_ref = repository.build_ids;
|
||||
_results = [];
|
||||
for (_l = 0, _len3 = _ref.length; _l < _len3; _l++) {
|
||||
id = _ref[_l];
|
||||
_results.push(commits[builds[id - 1].commit_id - 1]);
|
||||
}
|
||||
return _results;
|
||||
})()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
for (_l = 0, _len3 = jobs.length; _l < _len3; _l++) {
|
||||
job = jobs[_l];
|
||||
$.mockjax({
|
||||
url: '/jobs/' + job.id,
|
||||
responseTime: responseTime,
|
||||
responseText: {
|
||||
job: job,
|
||||
commit: commits[job.commit_id - 1]
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
for (_m = 0, _len4 = artifacts.length; _m < _len4; _m++) {
|
||||
artifact = artifacts[_m];
|
||||
$.mockjax({
|
||||
url: '/artifacts/' + artifact.id,
|
||||
responseTime: responseTime,
|
||||
responseText: {
|
||||
artifact: artifact
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}).call(this);
|
Loading…
Reference in New Issue
Block a user