diff --git a/.env.enc b/.env.enc index 0d1e55b..f053b93 100644 Binary files a/.env.enc and b/.env.enc differ diff --git a/.travis.yml b/.travis.yml index ab894fd..fa14e5e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,5 +13,5 @@ script: - yarn lint - yarn test before_install: -- openssl aes-256-cbc -K $encrypted_36ad509d33c5_key -iv $encrypted_36ad509d33c5_iv +- openssl aes-256-cbc -K $encrypted_737e2704ea13_key -iv $encrypted_737e2704ea13_iv -in .env.enc -out .env -d diff --git a/src/lib/Controller.js b/src/lib/Controller.js index b9e9351..970e6f2 100644 --- a/src/lib/Controller.js +++ b/src/lib/Controller.js @@ -16,7 +16,7 @@ class Controller { blueprints () { return Object.keys(this.fetchers).map( sheet => this.fetchers[sheet].blueprints - ) + ).reduce((acc, curr) => acc.concat(curr)) } update () { diff --git a/src/lib/Fetcher.js b/src/lib/Fetcher.js index cd571dc..2b05bee 100644 --- a/src/lib/Fetcher.js +++ b/src/lib/Fetcher.js @@ -66,11 +66,20 @@ class Fetcher { const allParts = allUrls.reduce((acc, url) => { if (url.startsWith(this.id)) { const parts = url.split('/') - acc.push([ parts[1], parts[2] ]) - return acc - } else { - return acc + let duplicateTab = acc.reduce((tabFound, p) => { + return tabFound || p[0] === parts[1] + }, false) + if (duplicateTab) { + acc.forEach(p => { + if (p[0] === parts[1]) { + p[1].push(parts[2]) + } + }) + } else { + acc.push([ parts[1], [ parts[2] ] ]) + } } + return acc }, []) return allParts diff --git a/src/lib/blueprinters.js b/src/lib/blueprinters.js index 6193972..f222f29 100644 --- a/src/lib/blueprinters.js +++ b/src/lib/blueprinters.js @@ -15,12 +15,15 @@ export const defaultResource = { data: [] } -export function buildDesaturated (sheetId, sheetName, tab, resource) { +export function buildDesaturated (sheetId, sheetName, tab, resources) { const bp = R.clone(defaultBlueprint) bp.sheet.name = sheetName bp.sheet.id = sheetId bp.name = tab - bp.resources[resource] = null + bp.resources = resources.reduce((acc, r) => { + acc[r] = null + return acc + }, {}) return bp }