Skip to content

Instantly share code, notes, and snippets.

@dmitrig01
Created August 9, 2011 14:30
Show Gist options
  • Save dmitrig01/1134197 to your computer and use it in GitHub Desktop.
Save dmitrig01/1134197 to your computer and use it in GitHub Desktop.
diff --git a/client/model.prefix.js b/client/model.prefix.js
index 220bae8..96ee6b7 100644
--- a/client/model.prefix.js
+++ b/client/model.prefix.js
@@ -1,4 +1,4 @@
// ---- start __FILE__ ----
Bones.initialize('model', function(models) {
-var model;
+var module = {exports: null};
diff --git a/client/model.suffix.js b/client/model.suffix.js
index 5ede068..0752f55 100644
--- a/client/model.suffix.js
+++ b/client/model.suffix.js
@@ -1,5 +1,5 @@
-if (model && !model.title) model.title = '__NAME__';
-return model;
+if (module.exports && !module.exports.title) module.exports.title = '__NAME__';
+return module.exports;
});
// ---- end __FILE__ ----
\ No newline at end of file
diff --git a/client/router.prefix.js b/client/router.prefix.js
index 512396a..63799f0 100644
--- a/client/router.prefix.js
+++ b/client/router.prefix.js
@@ -1,4 +1,4 @@
// ---- start __FILE__ ----
Bones.initialize('router', function(models, views, routers) {
-var router;
+var module = {exports: null};
diff --git a/client/router.suffix.js b/client/router.suffix.js
index 61befa8..0752f55 100644
--- a/client/router.suffix.js
+++ b/client/router.suffix.js
@@ -1,5 +1,5 @@
-if (router && !router.title) router.title = '__NAME__';
-return router;
+if (module.exports && !module.exports.title) module.exports.title = '__NAME__';
+return module.exports;
});
// ---- end __FILE__ ----
\ No newline at end of file
diff --git a/client/template.prefix.js b/client/template.prefix.js
index c354110..067eee5 100644
--- a/client/template.prefix.js
+++ b/client/template.prefix.js
@@ -1,4 +1,4 @@
// ---- start __FILE__ ----
Bones.initialize('template', function(templates) {
-var template;
+var module = {exports: null};
diff --git a/client/template.suffix.js b/client/template.suffix.js
index 5d741f0..0752f55 100644
--- a/client/template.suffix.js
+++ b/client/template.suffix.js
@@ -1,5 +1,5 @@
-if (template && !template.title) template.title = '__NAME__';
-return template;
+if (module.exports && !module.exports.title) module.exports.title = '__NAME__';
+return module.exports;
});
// ---- end __FILE__ ----
\ No newline at end of file
diff --git a/client/view.prefix.js b/client/view.prefix.js
index 676e354..23ededa 100644
--- a/client/view.prefix.js
+++ b/client/view.prefix.js
@@ -1,4 +1,4 @@
// ---- start __FILE__ ----
Bones.initialize('view', function(models, views, templates) {
-var view;
+var module = {exports: null};
diff --git a/client/view.suffix.js b/client/view.suffix.js
index 6a22443..0752f55 100644
--- a/client/view.suffix.js
+++ b/client/view.suffix.js
@@ -1,5 +1,5 @@
-if (view && !view.title) view.title = '__NAME__';
-return view;
+if (module.exports && !module.exports.title) module.exports.title = '__NAME__';
+return module.exports;
});
// ---- end __FILE__ ----
\ No newline at end of file
diff --git a/commands/start.bones b/commands/start.bones
index 6fe61ee..c9ef02f 100644
--- a/commands/start.bones
+++ b/commands/start.bones
@@ -1,8 +1,8 @@
-command = Bones.Command.extend();
+module.exports = Bones.Command.extend();
-command.description = 'start application';
+module.exports.description = 'start application';
-command.prototype.initialize = function(plugin, callback) {
+module.exports.prototype.initialize = function(plugin, callback) {
if (!Object.keys(plugin.servers).length) {
console.warn(Bones.utils.colorize('No servers defined.', 'red'));
return;
diff --git a/server/command.prefix.js b/server/command.prefix.js
index 4b8155e..7649927 100644
--- a/server/command.prefix.js
+++ b/server/command.prefix.js
@@ -10,5 +10,3 @@ var routers = Bones.plugin.routers;
var templates = Bones.plugin.templates;
var servers = Bones.plugin.servers;
var commands = Bones.plugin.commands;
-
-var command;
diff --git a/server/command.suffix.js b/server/command.suffix.js
index 8af5c01..d0801c3 100644
--- a/server/command.suffix.js
+++ b/server/command.suffix.js
@@ -1,5 +1,3 @@
-if (command && !command.title) {
- command.title = require('path').basename(__filename).replace(/\..+$/, '');
+if (module.exports && !module.exports.title) {
+ module.exports.title = require('path').basename(__filename).replace(/\..+$/, '');
}
-
-module.exports = command;
diff --git a/server/model.prefix.js b/server/model.prefix.js
index 81b0cff..720cf99 100644
--- a/server/model.prefix.js
+++ b/server/model.prefix.js
@@ -5,5 +5,3 @@ var _ = Bones._;
var Backbone = Bones.Backbone;
var models = Bones.plugin.models;
-
-var model;
diff --git a/server/model.suffix.js b/server/model.suffix.js
deleted file mode 100644
index ec37bdd..0000000
--- a/server/model.suffix.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = model;
diff --git a/server/router.prefix.js b/server/router.prefix.js
index 1de1ebe..5a16598 100644
--- a/server/router.prefix.js
+++ b/server/router.prefix.js
@@ -7,5 +7,3 @@ var Backbone = Bones.Backbone;
var models = Bones.plugin.models;
var views = Bones.plugin.views;
var routers = Bones.plugin.routers;
-
-var router;
diff --git a/server/router.suffix.js b/server/router.suffix.js
deleted file mode 100644
index 11917ea..0000000
--- a/server/router.suffix.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = router;
diff --git a/server/server.prefix.js b/server/server.prefix.js
index ae76a0a..ca19696 100644
--- a/server/server.prefix.js
+++ b/server/server.prefix.js
@@ -11,5 +11,3 @@ var views = Bones.plugin.views;
var routers = Bones.plugin.routers;
var templates = Bones.plugin.templates;
var servers = Bones.plugin.servers;
-
-var server;
diff --git a/server/server.suffix.js b/server/server.suffix.js
deleted file mode 100644
index e9d0133..0000000
--- a/server/server.suffix.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = server;
diff --git a/server/view.prefix.js b/server/view.prefix.js
index e946cdd..e41a5bc 100644
--- a/server/view.prefix.js
+++ b/server/view.prefix.js
@@ -7,5 +7,3 @@ var Backbone = Bones.Backbone;
var models = Bones.plugin.models;
var views = Bones.plugin.views;
var templates = Bones.plugin.templates;
-
-var view;
diff --git a/server/view.suffix.js b/server/view.suffix.js
deleted file mode 100644
index 4fe776f..0000000
--- a/server/view.suffix.js
+++ /dev/null
@@ -1 +0,0 @@
-module.exports = view;
diff --git a/servers/Asset.bones b/servers/Asset.bones
index e15dc8b..46b672c 100644
--- a/servers/Asset.bones
+++ b/servers/Asset.bones
@@ -3,9 +3,9 @@ var fs = require('fs'),
middleware = require('express'),
env = process.env.NODE_ENV || 'development';
-server = Bones.Server.extend({});
+module.exports = Bones.Server.extend({});
-server.prototype.initialize = function(app) {
+module.exports.prototype.initialize = function(app) {
app.directories.forEach(function(dir) {
var pkg = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf8'));
this.use('/assets/' + pkg.name, middleware['static'](
diff --git a/servers/Core.bones b/servers/Core.bones
index c3e2c1a..6aec280 100644
--- a/servers/Core.bones
+++ b/servers/Core.bones
@@ -1,11 +1,11 @@
var env = process.env.NODE_ENV || 'development';
var middleware = require('..').middleware;
-server = Bones.Server.extend({});
+module.exports = Bones.Server.extend({});
-server.prototype.port = 3000;
+module.exports.prototype.port = 3000;
-server.prototype.initialize = function(app) {
+module.exports.prototype.initialize = function(app) {
this.port = app.config.port || this.port;
// Middleware provides body decoding, CSRF validation et al.
diff --git a/servers/Debug.bones b/servers/Debug.bones
index bddba93..9bae258 100644
--- a/servers/Debug.bones
+++ b/servers/Debug.bones
@@ -1,6 +1,6 @@
var env = process.env.NODE_ENV || 'development';
-server = Bones.Server.extend({
+module.exports = Bones.Server.extend({
initialize: function(app) {
_.bindAll(this, 'logError');
if (env === 'development') {
diff --git a/servers/Middleware.bones b/servers/Middleware.bones
index 59c4cf4..f41dca4 100644
--- a/servers/Middleware.bones
+++ b/servers/Middleware.bones
@@ -1,8 +1,8 @@
var middleware = require('..').middleware;
-server = Bones.Server.extend({});
+module.exports = Bones.Server.extend({});
-server.prototype.initialize = function(app) {
+module.exports.prototype.initialize = function(app) {
this.use(middleware.sanitizeHost(app));
this.use(middleware.bodyParser());
this.use(middleware.cookieParser());
diff --git a/servers/Route.bones b/servers/Route.bones
index 5939cb7..6fa0e1f 100644
--- a/servers/Route.bones
+++ b/servers/Route.bones
@@ -1,7 +1,7 @@
var env = process.env.NODE_ENV || 'development';
var headers = { 'Content-Type': 'application/json' };
-server = Bones.Server.extend({});
+module.exports = Bones.Server.extend({});
var options = {
type: '.js',
@@ -10,7 +10,7 @@ var options = {
};
// TODO: This should be moved to the initialize method!
-server.prototype.assets = {
+module.exports.prototype.assets = {
vendor: new mirror([
require.resolve('bones/assets/jquery'),
require.resolve('underscore'),
@@ -29,35 +29,35 @@ server.prototype.assets = {
};
if (env === 'development') {
- server.prototype.assets.core.unshift(require.resolve('bones/assets/debug'));
+ module.exports.prototype.assets.core.unshift(require.resolve('bones/assets/debug'));
}
// TODO: This should be moved to the initialize method!
-server.prototype.assets.all = new mirror([
- server.prototype.assets.vendor,
- server.prototype.assets.core,
- server.prototype.assets.routers,
- server.prototype.assets.models,
- server.prototype.assets.views,
- server.prototype.assets.templates
+module.exports.prototype.assets.all = new mirror([
+ module.exports.prototype.assets.vendor,
+ module.exports.prototype.assets.core,
+ module.exports.prototype.assets.routers,
+ module.exports.prototype.assets.models,
+ module.exports.prototype.assets.views,
+ module.exports.prototype.assets.templates
], { type: '.js' });
-// Stores models, views served by this server.
+// Stores models, views served by this module.exports.
// TODO: This should be moved to the initialize method!
-server.prototype.models = {};
-server.prototype.views = {};
+module.exports.prototype.models = {};
+module.exports.prototype.views = {};
-// Stores instances of routers registered with this server.
+// Stores instances of routers registered with this module.exports.
// TODO: This should be moved to the initialize method!
-server.prototype.routers = {};
+module.exports.prototype.routers = {};
-server.prototype.initialize = function(app) {
+module.exports.prototype.initialize = function(app) {
this.registerComponents(app);
this.initializeAssets(app);
this.initializeModels(app);
};
-server.prototype.registerComponents = function(app) {
+module.exports.prototype.registerComponents = function(app) {
var components = ['routers', 'models', 'views', 'templates'];
components.forEach(function(kind) {
for (var name in app[kind]) {
@@ -66,7 +66,7 @@ server.prototype.registerComponents = function(app) {
}, this);
};
-server.prototype.initializeAssets = function(app) {
+module.exports.prototype.initializeAssets = function(app) {
this.get('/assets/bones/vendor.js', this.assets.vendor);
this.get('/assets/bones/core.js', this.assets.core);
this.get('/assets/bones/routers.js', this.assets.routers);
@@ -77,7 +77,7 @@ server.prototype.initializeAssets = function(app) {
this.get('/assets/bones/all.js', this.assets.all);
};
-server.prototype.initializeModels = function(app) {
+module.exports.prototype.initializeModels = function(app) {
this.models = app.models;
_.bindAll(this, 'loadModel', 'getModel', 'saveModel', 'delModel', 'loadCollection');
this.get('/api/:model/:id', this.loadModel, this.getModel);
@@ -87,7 +87,7 @@ server.prototype.initializeModels = function(app) {
this.get('/api/:collection', this.loadCollection.bind(this));
};
-server.prototype.loadCollection = function(req, res, next) {
+module.exports.prototype.loadCollection = function(req, res, next) {
var name = Bones.utils.pluralize(req.params.collection);
if (name in this.models) {
// Pass any querystring paramaters to the collection.
@@ -106,7 +106,7 @@ server.prototype.loadCollection = function(req, res, next) {
}
};
-server.prototype.loadModel = function(req, res, next) {
+module.exports.prototype.loadModel = function(req, res, next) {
var name = req.params.model;
if (name in this.models) {
// Pass any querystring paramaters to the model.
@@ -115,7 +115,7 @@ server.prototype.loadModel = function(req, res, next) {
next();
};
-server.prototype.getModel = function(req, res, next) {
+module.exports.prototype.getModel = function(req, res, next) {
if (!req.model) return next();
req.model.fetch({
success: function(model, resp) {
@@ -128,7 +128,7 @@ server.prototype.getModel = function(req, res, next) {
});
};
-server.prototype.saveModel = function(req, res, next) {
+module.exports.prototype.saveModel = function(req, res, next) {
if (!req.model) return next();
req.model.save(req.body, {
success: function(model, resp) {
@@ -141,7 +141,7 @@ server.prototype.saveModel = function(req, res, next) {
});
};
-server.prototype.delModel = function(req, res, next) {
+module.exports.prototype.delModel = function(req, res, next) {
if (!req.model) return next();
req.model.destroy({
success: function(model, resp) {
diff --git a/test/fixture/commands/foo.bones b/test/fixture/commands/foo.bones
index 433ae72..05227f2 100644
--- a/test/fixture/commands/foo.bones
+++ b/test/fixture/commands/foo.bones
@@ -1,20 +1,20 @@
-command = Bones.Command.extend();
+module.exports = Bones.module.exports.extend();
-command.description = 'demo command';
+module.exports.description = 'demo command';
-command.options['lorem'] = {
+module.exports.options['lorem'] = {
'description': 'Lorem ipsum dolor sit amet.',
'default': 'ipsum'
};
-command.options['dolor'] = {
+module.exports.options['dolor'] = {
'shortcut': 'd',
'default': function() {
return __dirname;
}
}
-command.prototype.initialize = function(plugin, callback) {
+module.exports.prototype.initialize = function(plugin, callback) {
if (callback) callback('successfully started!');
else if (plugin) console.log(JSON.stringify(plugin.config));
};
diff --git a/test/fixture/models/Failure.bones b/test/fixture/models/Failure.bones
index 4713c2b..39c81f3 100644
--- a/test/fixture/models/Failure.bones
+++ b/test/fixture/models/Failure.bones
@@ -1 +1 @@
-model = Backbone.Model.extend();
+module.exports = Backbone.Model.extend();
diff --git a/test/fixture/models/Failures.bones b/test/fixture/models/Failures.bones
index 1ad2112..810276a 100644
--- a/test/fixture/models/Failures.bones
+++ b/test/fixture/models/Failures.bones
@@ -1,4 +1,4 @@
-model = Backbone.Collection.extend({
+module.exports = Backbone.Collection.extend({
model: models.Fail,
sync: function(method, model, options) {
options.error();
diff --git a/test/fixture/models/House.bones b/test/fixture/models/House.bones
index 4713c2b..39c81f3 100644
--- a/test/fixture/models/House.bones
+++ b/test/fixture/models/House.bones
@@ -1 +1 @@
-model = Backbone.Model.extend();
+module.exports = Backbone.Model.extend();
diff --git a/test/fixture/models/Houses.bones b/test/fixture/models/Houses.bones
index fd8226a..a3f72bb 100644
--- a/test/fixture/models/Houses.bones
+++ b/test/fixture/models/Houses.bones
@@ -1,4 +1,4 @@
-model = Backbone.Collection.extend({
+module.exports = Backbone.Collection.extend({
model: models.House,
sync: function(method, model, options) {
options.success([
diff --git a/test/fixture/models/Page.bones b/test/fixture/models/Page.bones
index 4713c2b..39c81f3 100644
--- a/test/fixture/models/Page.bones
+++ b/test/fixture/models/Page.bones
@@ -1 +1 @@
-model = Backbone.Model.extend();
+module.exports = Backbone.Model.extend();
diff --git a/test/fixture/node_modules/othermodule/routers/Foo.bones b/test/fixture/node_modules/othermodule/routers/Foo.bones
index 688a53f..b591351 100644
--- a/test/fixture/node_modules/othermodule/routers/Foo.bones
+++ b/test/fixture/node_modules/othermodule/routers/Foo.bones
@@ -1,4 +1,4 @@
-router = Backbone.Router.extend({
+module.exports = Backbone.Router.extend({
routes: {
'/foo': 'foo'
},
diff --git a/test/fixture/node_modules/submodule/routers/Foo.bones b/test/fixture/node_modules/submodule/routers/Foo.bones
index b853f1f..84ef0ea 100644
--- a/test/fixture/node_modules/submodule/routers/Foo.bones
+++ b/test/fixture/node_modules/submodule/routers/Foo.bones
@@ -1,4 +1,4 @@
-router = (routers.foo || Backbone.Router).extend({
+module.exports = (routers.foo || Backbone.Router).extend({
routes: {
'/foo': 'foo'
},
@@ -6,6 +6,6 @@ router = (routers.foo || Backbone.Router).extend({
foo: function(res) {
res.send('foo');
}
-} , {
- 'extended': 'submodule'
- });
+}, {
+ 'extended': 'submodule'
+});
diff --git a/test/fixture/routers/Page.bones b/test/fixture/routers/Page.bones
index 1186efd..e20c166 100644
--- a/test/fixture/routers/Page.bones
+++ b/test/fixture/routers/Page.bones
@@ -1,4 +1,4 @@
-router = Backbone.Router.extend({
+module.exports = Backbone.Router.extend({
routes: {
'/page/:id': 'page',
'/page/special': 'pageSpecial'
diff --git a/test/fixture/servers/After.bones b/test/fixture/servers/After.bones
index a76f051..0218642 100644
--- a/test/fixture/servers/After.bones
+++ b/test/fixture/servers/After.bones
@@ -1,4 +1,4 @@
-server = Bones.Server.extend({
+module.exports = Bones.Server.extend({
initialize: function() {
this.get('/page/special', this.pageSpecial);
},
diff --git a/test/fixture/servers/Before.bones b/test/fixture/servers/Before.bones
index 4cc41d1..4404a21 100644
--- a/test/fixture/servers/Before.bones
+++ b/test/fixture/servers/Before.bones
@@ -1,4 +1,4 @@
-server = Bones.Server.extend({
+module.exports = Bones.Server.extend({
initialize: function() {
this.get('/page/baz', this.pageSpecial);
this.get('/hostname', function(req, res, next) {
diff --git a/test/fixture/views/App.bones b/test/fixture/views/App.bones
index 38aa3cf..a90f803 100644
--- a/test/fixture/views/App.bones
+++ b/test/fixture/views/App.bones
@@ -1,4 +1,4 @@
-view = Backbone.View.extend({
+module.exports = Backbone.View.extend({
events: {
'click a.route': 'route'
},
diff --git a/test/fixture/views/Error.bones b/test/fixture/views/Error.bones
index 048e7ce..fcbfea3 100644
--- a/test/fixture/views/Error.bones
+++ b/test/fixture/views/Error.bones
@@ -1,4 +1,4 @@
-view = Backbone.View.extend({
+module.exports = Backbone.View.extend({
initialize: function(options) {
_.bindAll(this, 'render');
this.render().trigger('attach');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment