Skip to content

Commit 69adf11

Browse files
committed
Remove the last of the computeds
1 parent f6eb314 commit 69adf11

1 file changed

Lines changed: 19 additions & 48 deletions

File tree

app/models/class.js

Lines changed: 19 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,5 @@
1-
// eslint-disable-next-line ember/no-computed-properties-in-native-classes
2-
import { computed } from '@ember/object';
31
import Model, { belongsTo, attr } from '@ember-data/model';
42

5-
const projectNameFromClassName = (key) => {
6-
return computed(key, 'project.id', function () {
7-
const value = this.get(key) || '';
8-
if (value.indexOf('Ember.') > -1) {
9-
return 'ember';
10-
}
11-
12-
if (value.indexOf('DS.') > 1) {
13-
return 'ember-data';
14-
}
15-
16-
return this.project.id;
17-
});
18-
};
19-
20-
// ideally this computed property would not be needed and we'd have extendsVersion, extendsProject attrs from json-api-docs
21-
const guessVersionFor = (key) => {
22-
return computed(
23-
key,
24-
'extendedClassProjectName',
25-
'project.id',
26-
'projectVersion.version',
27-
function () {
28-
if (this.extendedClassProjectName === this.project.id) {
29-
return this.projectVersion.version;
30-
}
31-
32-
// try linking to latest version at least
33-
return 'release';
34-
},
35-
);
36-
};
37-
383
export default class Class extends Model {
394
@attr()
405
name;
@@ -81,24 +46,18 @@ export default class Class extends Model {
8146
@belongsTo('project-version', { inverse: 'classes' })
8247
projectVersion;
8348

84-
@computed('projectVersion.id')
8549
get project() {
8650
return this.projectVersion.get('project');
8751
}
8852

89-
@projectNameFromClassName('extends')
90-
extendedClassProjectName;
91-
92-
@guessVersionFor('extends')
93-
extendedClassVersion;
94-
95-
@projectNameFromClassName('uses')
96-
usedClassProjectName;
53+
get extendedClassProjectName() {
54+
return this.projectNameFromClassName(this['extends']);
55+
}
9756

98-
@guessVersionFor('uses')
99-
usedClassVersion;
57+
get usedClassProjectName() {
58+
return this.projectNameFromClassName(this.uses);
59+
}
10060

101-
@computed('extends')
10261
get extendedClassShortName() {
10362
let extendedClassName = this['extends'];
10463
if (extendedClassName.substr(0, 6) === 'Ember.') {
@@ -107,7 +66,6 @@ export default class Class extends Model {
10766
return extendedClassName;
10867
}
10968

110-
@computed('project.id', 'uses')
11169
get usesObjects() {
11270
return this.uses.map((className) => ({
11371
name: className,
@@ -121,4 +79,17 @@ export default class Class extends Model {
12179
: this.project.id,
12280
}));
12381
}
82+
83+
projectNameFromClassName(val) {
84+
const value = val ?? '';
85+
if (value.indexOf('Ember.') > -1) {
86+
return 'ember';
87+
}
88+
89+
if (value.indexOf('DS.') > 1) {
90+
return 'ember-data';
91+
}
92+
93+
return this.project.id;
94+
}
12495
}

0 commit comments

Comments
 (0)