Add superBlock to challenge seed

pull/18182/head
Berkeley Martinez 2015-12-04 21:06:36 -08:00
parent 49a6eaf70b
commit 298ea673e0
2 changed files with 15 additions and 8 deletions

View File

@ -5,12 +5,17 @@ var path = require('path');
function getFilesFor(dir) { function getFilesFor(dir) {
return fs.readdirSync(path.join(__dirname, '/' + dir)) return fs.readdirSync(path.join(__dirname, '/' + dir))
.map(function(file) { .map(function(file) {
let superBlock;
if (fs.statSync(path.join(__dirname, dir + '/' + file)).isFile()) { if (fs.statSync(path.join(__dirname, dir + '/' + file)).isFile()) {
return file; return { file: file };
} }
return getFilesFor(dir + '/' + file) superBlock = file;
.map(function(_file) { return getFilesFor(dir + '/' + superBlock)
return file + '/' + _file; .map(function(data) {
return {
file: superBlock + '/' + data.file,
superBlock: superBlock
};
}); });
}) })
.reduce(function(files, file) { .reduce(function(files, file) {
@ -25,10 +30,10 @@ function getFilesFor(dir) {
module.exports = function getChallenges() { module.exports = function getChallenges() {
try { try {
return getFilesFor('challenges') return getFilesFor('challenges')
.map(function(file) { .map(function(data) {
console.log('fo', file); var challengeSpec = require('./challenges/' + data.file);
var challengeSpec = require('./challenges/' + file); challengeSpec.fileName = data.file;
challengeSpec.fileName = file; challengeSpec.superBlock = data.superBlock;
return challengeSpec; return challengeSpec;
}); });

View File

@ -17,6 +17,7 @@ destroy()
.flatMap(function(challengeSpec) { .flatMap(function(challengeSpec) {
var order = challengeSpec.order; var order = challengeSpec.order;
var block = challengeSpec.name; var block = challengeSpec.name;
var superBlock = challengeSpec.superBlock;
var isBeta = !!challengeSpec.isBeta; var isBeta = !!challengeSpec.isBeta;
var fileName = challengeSpec.fileName; var fileName = challengeSpec.fileName;
console.log('parsed %s successfully', block); console.log('parsed %s successfully', block);
@ -43,6 +44,7 @@ destroy()
challenge.order = order; challenge.order = order;
challenge.suborder = index + 1; challenge.suborder = index + 1;
challenge.block = block; challenge.block = block;
challenge.superBlock = superBlock;
challenge.isBeta = challenge.isBeta || isBeta; challenge.isBeta = challenge.isBeta || isBeta;
challenge.time = challengeSpec.time; challenge.time = challengeSpec.time;