Skip to content

Commit d076542

Browse files
authored
Merge pull request #20 from esantelises/add-submodules-parent
add parent to submodules
2 parents b63f93f + f8797a1 commit d076542

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed

index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ let fetch = require('./lib/fetch')
1111
let readDocs = require('./lib/read-docs')
1212
let addSinceTags = require('./lib/add-since-tags')
1313
let addInheritedItems = require('./lib/add-inherited-items')
14+
let addSubModulesParent = require('./lib/add-sub-modules-parent')
1415
let putClassesInCouch = require('./lib/classes-in-couch')
1516
let createVersionIndex = require('./lib/create-version-index')
1617
let normalizeEmberDependencies = require('./lib/normalize-ember-dependencies')
@@ -35,6 +36,9 @@ function transformProjectFiles (projectName) {
3536
console.log('reading docs for ' + projectName)
3637
let promise = RSVP.resolve(readDocs(projectName))
3738
.then((stuff) => {
39+
console.log('adding sub modules parent for ' + projectName)
40+
return addSubModulesParent(stuff)
41+
}).then((stuff) => {
3842
console.log('adding since tags for ' + projectName)
3943
return addSinceTags(stuff)
4044
}).then((stuff) => {

lib/add-sub-modules-parent.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
'use strict'
2+
3+
let _ = require('lodash')
4+
let RSVP = require('rsvp')
5+
6+
module.exports = function addSubModulesParent (docSets) {
7+
docSets.forEach(function (versionData) {
8+
let modules = _.values(versionData.data.modules)
9+
10+
modules.forEach(function (mod) {
11+
if (mod.is_submodule) {
12+
mod.parent = mod.module
13+
}
14+
})
15+
})
16+
17+
return RSVP.resolve(docSets)
18+
}

test/add-sub-modules-parent-test.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
'use strict'
2+
3+
let addSubModulesParent = require('../lib/add-sub-modules-parent')
4+
let assert = require('chai').assert
5+
let _ = require('lodash')
6+
7+
describe('addSubModulesParent', function () {
8+
beforeEach(function () {
9+
this.yuiDocSets = _.range(3).map(i => {
10+
return {
11+
version: 'v1.0.' + i,
12+
data: {
13+
modules: [
14+
{
15+
is_submodule: 1,
16+
module: 'foo'
17+
},
18+
{
19+
is_submodule: 1,
20+
module: 'foo'
21+
},
22+
{
23+
is_submodule: 0,
24+
module: 'bar'
25+
}
26+
]
27+
}
28+
}
29+
})
30+
addSubModulesParent(this.yuiDocSets)
31+
})
32+
33+
it('adds a parent attribute to sub modules', function () {
34+
this.yuiDocSets.forEach(docSet => {
35+
let subModules = _.filter(docSet.data.modules, (mod) => (mod.is_submodule))
36+
subModules.forEach((moduleItem) => {
37+
assert.equal(moduleItem.parent, 'foo')
38+
})
39+
})
40+
})
41+
})

0 commit comments

Comments
 (0)