mirror of
https://github.com/rileyjshaw/terra.git
synced 2024-11-21 04:54:23 +00:00
Remove 'color' as a required attribute
This commit is contained in:
parent
8caf0fe500
commit
39940355f0
@ -131,13 +131,8 @@ var creatureFactory = (function () {
|
||||
register: function (options, init) {
|
||||
// required attributes
|
||||
var type = options.type;
|
||||
var color = options.color;
|
||||
// only register classes that fulfill the creature contract
|
||||
if (typeof type === 'string' &&
|
||||
typeof types[type] === 'undefined' &&
|
||||
typeof color === 'object' &&
|
||||
color.length === 3) {
|
||||
|
||||
if (typeof type === 'string' && typeof types[type] === 'undefined') {
|
||||
// set the constructor, including init if it's defined
|
||||
if (typeof init === 'function') {
|
||||
types[type] = function () {
|
||||
@ -150,6 +145,12 @@ var creatureFactory = (function () {
|
||||
};
|
||||
}
|
||||
|
||||
var color = options.color;
|
||||
// set the color randomly if none is provided
|
||||
if (typeof color !== 'object' || color.length !== 3) {
|
||||
options.color = [_.random(255), _.random(255), _.random(255)];
|
||||
}
|
||||
|
||||
types[type].prototype = new baseCreature();
|
||||
types[type].prototype.constructor = types[type];
|
||||
|
||||
|
13
dist/terra.js
vendored
13
dist/terra.js
vendored
@ -141,13 +141,8 @@ var creatureFactory = (function () {
|
||||
register: function (options, init) {
|
||||
// required attributes
|
||||
var type = options.type;
|
||||
var color = options.color;
|
||||
// only register classes that fulfill the creature contract
|
||||
if (typeof type === 'string' &&
|
||||
typeof types[type] === 'undefined' &&
|
||||
typeof color === 'object' &&
|
||||
color.length === 3) {
|
||||
|
||||
if (typeof type === 'string' && typeof types[type] === 'undefined') {
|
||||
// set the constructor, including init if it's defined
|
||||
if (typeof init === 'function') {
|
||||
types[type] = function () {
|
||||
@ -160,6 +155,12 @@ var creatureFactory = (function () {
|
||||
};
|
||||
}
|
||||
|
||||
var color = options.color;
|
||||
// set the color randomly if none is provided
|
||||
if (typeof color !== 'object' || color.length !== 3) {
|
||||
options.color = [_.random(255), _.random(255), _.random(255)];
|
||||
}
|
||||
|
||||
types[type].prototype = new baseCreature();
|
||||
types[type].prototype.constructor = types[type];
|
||||
|
||||
|
2
dist/terra.min.js
vendored
2
dist/terra.min.js
vendored
File diff suppressed because one or more lines are too long
40
gulpfile.js
40
gulpfile.js
@ -14,8 +14,16 @@ var paths = {
|
||||
demo: {
|
||||
entry: './demo/scripts/main.js',
|
||||
scripts: './demo/scripts/**/*.js',
|
||||
stylesheets: ['./demo/stylesheets/**/*.css', './demo/stylesheets/**/*.sass'],
|
||||
extras: './*.{png,ico,txt,xml}'
|
||||
extraScripts: [
|
||||
'./bower_components/smooth-scroll.js/dist/js/bind-polyfill.min.js',
|
||||
'./bower_components/smooth-scroll.js/dist/js/smooth-scroll.min.js',
|
||||
'./demo/scripts/prism.js'
|
||||
],
|
||||
stylesheets: {
|
||||
css: './demo/stylesheets/**/*.css',
|
||||
sass: './demo/stylesheets/**/*.sass'
|
||||
},
|
||||
temp: './demo/temp'
|
||||
},
|
||||
dist: {
|
||||
scripts: './dist',
|
||||
@ -53,23 +61,35 @@ gulp.task('demo', function() {
|
||||
debug: argv.debug
|
||||
})
|
||||
.bundle()
|
||||
.pipe(source('terra.demo.min.js'))
|
||||
.pipe(source('temp.js'))
|
||||
.pipe(gulp.dest(paths.demo.temp))
|
||||
});
|
||||
|
||||
gulp.task('sass', function () {
|
||||
return gulp.src(paths.demo.stylesheets.sass)
|
||||
.pipe($.rubySass())
|
||||
.pipe($.autoprefixer())
|
||||
.pipe(gulp.dest(paths.demo.temp))
|
||||
});
|
||||
|
||||
gulp.task('js_concat', ['demo'], function () {
|
||||
return gulp.src(paths.demo.extraScripts.concat(paths.demo.temp + '/*.js'))
|
||||
.pipe($.concat('terra.demo.min.js'))
|
||||
.pipe($.streamify( $.uglify() ))
|
||||
.pipe(gulp.dest(paths.dist.demo))
|
||||
});
|
||||
|
||||
gulp.task('sass', function () {
|
||||
return gulp.src(paths.demo.stylesheets)
|
||||
.pipe($.rubySass())
|
||||
.pipe($.autoprefixer())
|
||||
gulp.task('css_concat', ['sass'], function () {
|
||||
return gulp.src([paths.demo.stylesheets.css, paths.demo.temp + '/*.css'])
|
||||
.pipe($.concat('main.css'))
|
||||
.pipe($.minifyCss())
|
||||
.pipe(gulp.dest(paths.dist.demo))
|
||||
});
|
||||
|
||||
gulp.task('watch', function() {
|
||||
gulp.watch([paths.app.all, paths.app.ext], ['lint', 'scripts']);
|
||||
gulp.watch(paths.demo.scripts, ['demo']);
|
||||
gulp.watch(paths.demo.stylesheets, ['sass']);
|
||||
gulp.watch(paths.demo.scripts, ['demo','js_concat']);
|
||||
gulp.watch([paths.demo.stylesheets.sass, paths.demo.stylesheets.css], ['sass', 'css_concat']);
|
||||
});
|
||||
|
||||
gulp.task('deploy', function () {
|
||||
@ -86,4 +106,4 @@ gulp.task('webserver', function() {
|
||||
}));
|
||||
});
|
||||
|
||||
gulp.task( 'default', [ 'lint', 'scripts', 'demo', 'sass', 'webserver', 'watch' ] );
|
||||
gulp.task( 'default', [ 'lint', 'scripts', 'demo', 'js_concat', 'sass', 'css_concat', 'webserver', 'watch' ] );
|
||||
|
Loading…
Reference in New Issue
Block a user