Skip to content

Commit 5e06c65

Browse files
authored
Merge pull request #67 from Subtletree/add-undefined-podmoduleprefix
Migrate pods with undefined podModulePrefix
2 parents 0b50166 + 20afb46 commit 5e06c65

14 files changed

Lines changed: 55 additions & 24 deletions

File tree

lib/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ var Engine = CoreObject.extend({
144144
var fileInfo = this.engine.buildFor(path, {
145145
projectRoot: this.projectRoot,
146146
projectName: this.projectName,
147-
podModulePrefix: this.podModulePrefix !== undefined ? this.podModulePrefix : 'pods',
147+
podModulePrefix: this.podModulePrefix || '',
148148
_fileInfoCollection: this._fileInfoCollection
149149
});
150150

lib/models/file-info.js

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,6 @@ var FileInfo = CoreObject.extend({
7676
var pathParts = this.sourceRelativePath.split('/');
7777
var typeFolder = pathParts[1];
7878

79-
80-
8179
var podType = typeForPodFile(this.sourceRelativePath);
8280
var arePodsNamespaced = hasPodNamespace(this.podModulePrefix);
8381

@@ -96,16 +94,19 @@ var FileInfo = CoreObject.extend({
9694
}
9795
}
9896

97+
strippedRelativePath = this.sourceRelativePath;
98+
9999
// default/classic/namespaced-pods
100-
pathRootRegex = new RegExp('(app\/)?' + this.podModulePrefix + '\/(components\/)?');
100+
if (this.podModulePrefix) {
101+
pathRootRegex = new RegExp('(app\/)?' + this.podModulePrefix + '\/(components\/)?');
102+
strippedRelativePath = strippedRelativePath.replace(pathRootRegex, ''); // don't care if path begins with pods;
103+
}
101104

102-
strippedRelativePath = this.sourceRelativePath
103-
.replace(pathRootRegex, '') // don't care if path begins with pods
105+
strippedRelativePath = strippedRelativePath
104106
.replace(new RegExp('^' + this.sourceRoot + '/' + typeFolder + '/'), '') // remove leading type dir
105107
.replace(new RegExp(this.ext + '$'), '') // remove extension
106108
.replace(new RegExp('/' + this.type + '$'), ''); // remove trailing type
107109

108-
109110
if (!arePodsNamespaced) {
110111
if (podType) {
111112
fileName = pathParts[pathParts.length - 1];
@@ -122,23 +123,6 @@ var FileInfo = CoreObject.extend({
122123
.replace(new RegExp(this.ext + '$'), '') // remove extension
123124
.replace(new RegExp('/' + this.type + '$'), ''); // remove trailing type
124125
}
125-
126-
// for other files (adapters, serializers, helpers, initializers, etc)
127-
if (type === undefined){
128-
pathRootRegex = new RegExp('(app\/)?');
129-
type = pathParts[1];
130-
fileName = pathParts[pathParts.length - 1];
131-
typeFolder = inflection.pluralize(type);
132-
133-
134-
strippedRelativePath = this.sourceRelativePath
135-
.replace(pathRootRegex, '')
136-
.replace(new RegExp(type + '/'), '')
137-
.replace(new RegExp('^' + this.sourceRoot + '/' + typeFolder + '/'), '') // remove leading type dir
138-
.replace(new RegExp(this.ext + '$'), '') // remove extension
139-
.replace(new RegExp('/' + this.type), ''); // remove trailing type
140-
141-
}
142126
}
143127

144128
var parts = strippedRelativePath.split('/');

test/fixtures/classic-acceptance/input.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,13 @@ module.exports = {
111111
}
112112
},
113113

114+
'config': {
115+
'environment.js': '"ENV"',
116+
'foo': {
117+
'baz.sh': 'yolo'
118+
}
119+
},
120+
114121
'tests': {
115122
'acceptance': {
116123
'post-test.js': '"post acceptance test"'

test/fixtures/classic-acceptance/output.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,12 @@ module.exports = {
140140
}
141141
}
142142
},
143+
'config': {
144+
'environment.js': '"ENV"',
145+
'foo': {
146+
'baz.sh': 'yolo'
147+
}
148+
},
143149
'tests': {
144150
'acceptance': {
145151
'post-test.js': '"post acceptance test"'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
podModulePrefix: 'pods'
3+
};

test/fixtures/pods-acceptance/input.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@ module.exports = {
110110
'blahzorz.js': '"blahzorz validator"'
111111
}
112112
},
113+
'config': {
114+
'environment.js': '"ENV"',
115+
'foo': {
116+
'baz.sh': 'yolo'
117+
}
118+
},
113119
'tests': {
114120
'acceptance': {
115121
'post-test.js': '"post acceptance test"'

test/fixtures/pods-custom-name-acceptance/input.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@ module.exports = {
110110
'blahzorz.js': '"blahzorz validator"'
111111
}
112112
},
113+
'config': {
114+
'environment.js': '"ENV"',
115+
'foo': {
116+
'baz.sh': 'yolo'
117+
}
118+
},
113119
'tests': {
114120
'acceptance': {
115121
'post-test.js': '"post acceptance test"'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
podModulePrefix: 'pods'
3+
};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
podModulePrefix: 'pods'
3+
};
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
podModulePrefix: undefined
3+
};

0 commit comments

Comments
 (0)