diff --git a/addon/ng2/blueprints/enum/files/__path__/__name__.enum.ts b/addon/ng2/blueprints/enum/files/__path__/__name__.enum.ts new file mode 100644 index 000000000000..dd017c175823 --- /dev/null +++ b/addon/ng2/blueprints/enum/files/__path__/__name__.enum.ts @@ -0,0 +1,3 @@ +export enum <%= classifiedModuleName %> { + +} diff --git a/addon/ng2/blueprints/enum/index.js b/addon/ng2/blueprints/enum/index.js new file mode 100644 index 000000000000..7de86df0de62 --- /dev/null +++ b/addon/ng2/blueprints/enum/index.js @@ -0,0 +1,44 @@ +const stringUtils = require('ember-cli-string-utils'); +var dynamicPathParser = require('../../utilities/dynamic-path-parser'); +var addBarrelRegistration = require('../../utilities/barrel-management'); + +module.exports = { + description: '', + + normalizeEntityName: function (entityName) { + var parsedPath = dynamicPathParser(this.project, entityName); + + this.dynamicPath = parsedPath; + return parsedPath.name; + }, + + locals: function (options) { + this.fileName = stringUtils.dasherize(options.entity.name); + + return { + dynamicPath: this.dynamicPath.dir, + flat: options.flat, + fileName: this.fileName + }; + }, + + fileMapTokens: function () { + // Return custom template variables here. + return { + __path__: () => { + this.generatePath = this.dynamicPath.dir; + return this.generatePath; + }, + __name__: () => { + return this.fileName; + } + }; + }, + + afterInstall: function() { + return addBarrelRegistration( + this, + this.generatePath, + this.fileName); + } +}; diff --git a/addon/ng2/commands/generate.ts b/addon/ng2/commands/generate.ts index 3c01409d2cf2..80b34ceca9b7 100644 --- a/addon/ng2/commands/generate.ts +++ b/addon/ng2/commands/generate.ts @@ -52,6 +52,7 @@ const aliasMap = { 'cl': 'class', 'c': 'component', 'd': 'directive', + 'e': 'enum', 'p': 'pipe', 'r': 'route', 's': 'service'