From daed80916bc4f2c7bf231cc34d56334f0fd9b1b9 Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Tue, 26 Jun 2012 03:11:38 +0200 Subject: [PATCH] rearrange things so that we can destroy/create the app for test isolation --- assets/javascripts/app/app.coffee | 28 +- assets/javascripts/app/controllers.coffee | 17 +- assets/javascripts/app/models/job.coffee | 4 +- .../app/{routes.coffee => router.coffee} | 4 +- assets/javascripts/app/store.coffee | 5 + .../store}/fixture_adapter.coffee | 0 .../store}/rest_adapter.coffee | 2 + .../javascripts/app/templates/builds/list.hbs | 2 +- .../javascripts/app/templates/builds/show.hbs | 6 +- .../javascripts/app/templates/jobs/show.hbs | 2 +- .../app/templates/repositories/list.hbs | 2 +- assets/javascripts/app/views.coffee | 99 +++--- assets/javascripts/lib/travis/model.coffee | 6 +- assets/javascripts/spec/foo_spec.coffee | 6 +- assets/javascripts/spec/spec_helper.coffee | 15 +- assets/javascripts/vendor/ember.js | 334 +++++++++--------- public/index.html | 2 +- public/javascripts/application.js | 2 +- public/javascripts/specs/specs.js | 21 +- public/javascripts/vendor.js | 334 +++++++++--------- public/spec.html | 6 +- public/stylesheets/application.css | 1 - 22 files changed, 469 insertions(+), 429 deletions(-) rename assets/javascripts/app/{routes.coffee => router.coffee} (98%) create mode 100644 assets/javascripts/app/store.coffee rename assets/javascripts/{lib/travis/data_store => app/store}/fixture_adapter.coffee (100%) rename assets/javascripts/{lib/travis/data_store => app/store}/rest_adapter.coffee (99%) diff --git a/assets/javascripts/app/app.coffee b/assets/javascripts/app/app.coffee index 32854715..f545b752 100644 --- a/assets/javascripts/app/app.coffee +++ b/assets/javascripts/app/app.coffee @@ -1,16 +1,22 @@ -@Travis = Em.Application.create() +@Travis = Em.Namespace.create + App: Em.Application.extend + initialize: -> + $.extend(this, Travis.Controllers) + $.extend(this, Travis.Views) + @store = Travis.Store.create() + @_super(Travis.Router.create()) + + run: -> + @app = Travis.App.create() + @app.initialize() + require 'ext/jquery' -require 'locales' -require 'travis/data_store/rest_adapter' +require 'controllers' require 'helpers' require 'models' -require 'views' +require 'router' +require 'store' require 'templates' -require 'controllers' -require 'routes' - -Travis.store = DS.Store.extend( - revision: 4 - adapter: Travis.RestAdapter.create() -).create() +require 'views' +require 'locales' diff --git a/assets/javascripts/app/controllers.coffee b/assets/javascripts/app/controllers.coffee index e0698ad8..3950ab54 100644 --- a/assets/javascripts/app/controllers.coffee +++ b/assets/javascripts/app/controllers.coffee @@ -1,9 +1,12 @@ -Travis.ApplicationController = Em.Controller.extend() -Travis.RepositoriesController = Em.ArrayController.extend() -Travis.RepositoryController = Em.ObjectController.extend(Travis.Urls.Repository) -Travis.TabsController = Em.Controller.extend() -Travis.HistoryController = Em.ArrayController.extend() -Travis.BuildController = Em.ObjectController.extend(Travis.Urls.Commit) -Travis.JobController = Em.ObjectController.extend(Travis.Urls.Commit) +require 'helpers' + +Travis.Controllers = + ApplicationController: Em.Controller.extend() + RepositoriesController: Em.ArrayController.extend() + RepositoryController: Em.ObjectController.extend(Travis.Urls.Repository) + TabsController: Em.Controller.extend() + HistoryController: Em.ArrayController.extend() + BuildController: Em.ObjectController.extend(Travis.Urls.Commit) + JobController: Em.ObjectController.extend(Travis.Urls.Commit) diff --git a/assets/javascripts/app/models/job.coffee b/assets/javascripts/app/models/job.coffee index 9761f102..dc5fd3e5 100644 --- a/assets/javascripts/app/models/job.coffee +++ b/assets/javascripts/app/models/job.coffee @@ -49,7 +49,7 @@ require 'travis/model' @Travis.Job.reopenClass queued: (queue) -> @all() - Travis.store.filter this, (job) -> job.get('queue') == 'builds.' + queue + Travis.app.store.filter this, (job) -> job.get('queue') == 'builds.' + queue findMany: (ids) -> - Travis.store.findMany this, ids + Travis.app.store.findMany this, ids diff --git a/assets/javascripts/app/routes.coffee b/assets/javascripts/app/router.coffee similarity index 98% rename from assets/javascripts/app/routes.coffee rename to assets/javascripts/app/router.coffee index 832bef03..715e0bfb 100644 --- a/assets/javascripts/app/routes.coffee +++ b/assets/javascripts/app/router.coffee @@ -1,7 +1,7 @@ require 'hax0rs' @Travis.Router = Em.Router.extend - enableLogging: true + # enableLogging: true location: 'hash' root: Em.Route.extend @@ -108,7 +108,7 @@ require 'hax0rs' serializeRepository: (object) -> - if object instanceof DS.Model + if object instanceof Travis.Repository slug = object.get('slug') || object._id # wat. { owner: slug.split('/')[0], name: slug.split('/')[1] } else diff --git a/assets/javascripts/app/store.coffee b/assets/javascripts/app/store.coffee new file mode 100644 index 00000000..20b08647 --- /dev/null +++ b/assets/javascripts/app/store.coffee @@ -0,0 +1,5 @@ +require 'store/rest_adapter' + +Travis.Store = DS.Store.extend + revision: 4 + adapter: Travis.RestAdapter.create() diff --git a/assets/javascripts/lib/travis/data_store/fixture_adapter.coffee b/assets/javascripts/app/store/fixture_adapter.coffee similarity index 100% rename from assets/javascripts/lib/travis/data_store/fixture_adapter.coffee rename to assets/javascripts/app/store/fixture_adapter.coffee diff --git a/assets/javascripts/lib/travis/data_store/rest_adapter.coffee b/assets/javascripts/app/store/rest_adapter.coffee similarity index 99% rename from assets/javascripts/lib/travis/data_store/rest_adapter.coffee rename to assets/javascripts/app/store/rest_adapter.coffee index 02c0d396..b4fb61fd 100644 --- a/assets/javascripts/lib/travis/data_store/rest_adapter.coffee +++ b/assets/javascripts/app/store/rest_adapter.coffee @@ -1,3 +1,5 @@ +require 'models' + @Travis.RestAdapter = DS.RESTAdapter.extend init: -> @_super() diff --git a/assets/javascripts/app/templates/builds/list.hbs b/assets/javascripts/app/templates/builds/list.hbs index 37836b93..2869b9ff 100644 --- a/assets/javascripts/app/templates/builds/list.hbs +++ b/assets/javascripts/app/templates/builds/list.hbs @@ -11,7 +11,7 @@ {{#each build in content}} - {{#view Travis.BuildsItemView contextBinding="build"}} + {{#view Travis.Views.BuildsItemView contextBinding="build"}} {{number}} {{formatCommit commit}} diff --git a/assets/javascripts/app/templates/builds/show.hbs b/assets/javascripts/app/templates/builds/show.hbs index 938e51a3..570ffed6 100644 --- a/assets/javascripts/app/templates/builds/show.hbs +++ b/assets/javascripts/app/templates/builds/show.hbs @@ -37,10 +37,10 @@ {{#if isLoaded}} {{#if view.isMatrix}} - {{view Travis.JobsView jobsBinding="view.requiredJobs" required="true"}} - {{view Travis.JobsView jobsBinding="view.allowedFailureJobs"}} + {{view Travis.Views.JobsView jobsBinding="view.requiredJobs" required="true"}} + {{view Travis.Views.JobsView jobsBinding="view.allowedFailureJobs"}} {{else}} - {{view Travis.LogView contextBinding="jobs.firstObject"}} + {{view Travis.Views.LogView contextBinding="jobs.firstObject"}} {{/if}} {{/if}} diff --git a/assets/javascripts/app/templates/jobs/show.hbs b/assets/javascripts/app/templates/jobs/show.hbs index d05e30b7..97919933 100644 --- a/assets/javascripts/app/templates/jobs/show.hbs +++ b/assets/javascripts/app/templates/jobs/show.hbs @@ -32,6 +32,6 @@
{{formatConfig config}}
- {{view Travis.LogView}} + {{view Travis.Views.LogView}} diff --git a/assets/javascripts/app/templates/repositories/list.hbs b/assets/javascripts/app/templates/repositories/list.hbs index 89f84e60..3d721b93 100644 --- a/assets/javascripts/app/templates/repositories/list.hbs +++ b/assets/javascripts/app/templates/repositories/list.hbs @@ -1,7 +1,7 @@ {{#if content.lastObject.isLoaded}}