Skip to content

Commit 5942721

Browse files
committed
Update implementation to use async/await
1 parent e153fd3 commit 5942721

File tree

2 files changed

+164
-197
lines changed

2 files changed

+164
-197
lines changed

index.js

Lines changed: 74 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
/* jshint node: true */
22
'use strict';
33

4-
var RSVP = require('rsvp');
5-
var path = require('path');
6-
var fs = require('fs');
4+
let path = require('path');
5+
let fs = require('fs');
76

8-
var denodeify = require('rsvp').denodeify;
9-
var readFile = denodeify(fs.readFile);
10-
11-
var DeployPluginBase = require('ember-cli-deploy-plugin');
7+
let DeployPluginBase = require('ember-cli-deploy-plugin');
128

139
module.exports = {
1410
name: 'ember-cli-deploy-redis',
@@ -87,57 +83,58 @@ module.exports = {
8783
this.log('config ok', { verbose: true });
8884
},
8985

90-
upload: function(/* context */) {
91-
var redisDeployClient = this.readConfig('redisDeployClient');
92-
var revisionKey = this.readConfig('revisionKey');
93-
var distDir = this.readConfig('distDir');
94-
var filePattern = this.readConfig('filePattern');
95-
var keyPrefix = this.readConfig('keyPrefix');
96-
var filePath = path.join(distDir, filePattern);
86+
upload: async function(/* context */) {
87+
let redisDeployClient = this.readConfig('redisDeployClient');
88+
let revisionKey = this.readConfig('revisionKey');
89+
let distDir = this.readConfig('distDir');
90+
let filePattern = this.readConfig('filePattern');
91+
let keyPrefix = this.readConfig('keyPrefix');
92+
let filePath = path.join(distDir, filePattern);
9793

9894
this.log('Uploading `' + filePath + '`', { verbose: true });
99-
return this._readFileContents(filePath)
100-
.then(redisDeployClient.upload.bind(redisDeployClient, keyPrefix, revisionKey, this.readConfig('revisionData')))
101-
.then(this._uploadSuccessMessage.bind(this))
102-
.then(function(key) {
103-
return { redisKey: key };
104-
})
105-
.catch(this._errorMessage.bind(this));
95+
try {
96+
let fileContents = await this._readFileContents(filePath);
97+
let key = await redisDeployClient.upload(keyPrefix, revisionKey, this.readConfig('revisionData'), fileContents);
98+
this._logUploadSuccessMessage(key);
99+
return { redisKey: key };
100+
} catch(e) {
101+
this._logErrorMessage(e);
102+
throw e;
103+
}
106104
},
107105

108-
willActivate: function(/* context */) {
109-
var redisDeployClient = this.readConfig('redisDeployClient');
110-
var keyPrefix = this.readConfig('keyPrefix');
106+
willActivate: async function(/* context */) {
107+
let redisDeployClient = this.readConfig('redisDeployClient');
108+
let keyPrefix = this.readConfig('keyPrefix');
109+
110+
let previousRevisionKey = await redisDeployClient.activeRevision(keyPrefix);
111+
return {
112+
revisionData: {
113+
previousRevisionKey
114+
}
115+
};
116+
},
111117

112-
var revisionKey = redisDeployClient.activeRevision(keyPrefix);
118+
activate: async function(/* context */) {
119+
let redisDeployClient = this.readConfig('redisDeployClient');
120+
let revisionKey = this.readConfig('revisionKey');
121+
let keyPrefix = this.readConfig('keyPrefix');
122+
let activationSuffix = this.readConfig('activationSuffix');
123+
let activeContentSuffix = this.readConfig('activeContentSuffix');
113124

114-
return RSVP.resolve(revisionKey).then(function(previousRevisionKey) {
125+
this.log('Activating revision `' + revisionKey + '`', { verbose: true });
126+
try {
127+
await redisDeployClient.activate(keyPrefix, revisionKey, activationSuffix, activeContentSuffix);
128+
this.log('✔ Activated revision `' + revisionKey + '`', {});
115129
return {
116130
revisionData: {
117-
previousRevisionKey: previousRevisionKey
131+
activatedRevisionKey: revisionKey
118132
}
119133
};
120-
});
121-
},
122-
123-
activate: function(/* context */) {
124-
var redisDeployClient = this.readConfig('redisDeployClient');
125-
var revisionKey = this.readConfig('revisionKey');
126-
var keyPrefix = this.readConfig('keyPrefix');
127-
var activationSuffix = this.readConfig('activationSuffix');
128-
var activeContentSuffix = this.readConfig('activeContentSuffix');
129-
130-
this.log('Activating revision `' + revisionKey + '`', { verbose: true });
131-
return RSVP.resolve(redisDeployClient.activate(keyPrefix, revisionKey, activationSuffix, activeContentSuffix))
132-
.then(this.log.bind(this, '✔ Activated revision `' + revisionKey + '`', {}))
133-
.then(function(){
134-
return {
135-
revisionData: {
136-
activatedRevisionKey: revisionKey
137-
}
138-
};
139-
})
140-
.catch(this._errorMessage.bind(this));
134+
} catch(e) {
135+
this._logErrorMessage(e);
136+
throw e;
137+
}
141138
},
142139

143140
didDeploy: function(/* context */){
@@ -147,49 +144,49 @@ module.exports = {
147144
}
148145
},
149146

150-
fetchInitialRevisions: function(/* context */) {
151-
var redisDeployClient = this.readConfig('redisDeployClient');
152-
var keyPrefix = this.readConfig('keyPrefix');
147+
fetchInitialRevisions: async function(/* context */) {
148+
let redisDeployClient = this.readConfig('redisDeployClient');
149+
let keyPrefix = this.readConfig('keyPrefix');
153150

154151
this.log('Listing initial revisions for key: `' + keyPrefix + '`', { verbose: true });
155-
return RSVP.resolve(redisDeployClient.fetchRevisions(keyPrefix))
156-
.then(function(revisions) {
157-
return {
158-
initialRevisions: revisions
159-
};
160-
})
161-
.catch(this._errorMessage.bind(this));
152+
try {
153+
let initialRevisions = await redisDeployClient.fetchRevisions(keyPrefix);
154+
return {
155+
initialRevisions
156+
};
157+
} catch(e) {
158+
this._logErrorMessage(e);
159+
throw e;
160+
}
162161
},
163162

164-
fetchRevisions: function(/* context */) {
165-
var redisDeployClient = this.readConfig('redisDeployClient');
166-
var keyPrefix = this.readConfig('keyPrefix');
163+
fetchRevisions: async function(/* context */) {
164+
let redisDeployClient = this.readConfig('redisDeployClient');
165+
let keyPrefix = this.readConfig('keyPrefix');
167166

168167
this.log('Listing revisions for key: `' + keyPrefix + '`');
169-
return RSVP.resolve(redisDeployClient.fetchRevisions(keyPrefix))
170-
.then(function(revisions) {
171-
return {
172-
revisions: revisions
173-
};
174-
})
175-
.catch(this._errorMessage.bind(this));
168+
try {
169+
let revisions = await redisDeployClient.fetchRevisions(keyPrefix);
170+
return {
171+
revisions
172+
};
173+
} catch(e) {
174+
this._logErrorMessage(e);
175+
throw e;
176+
}
176177
},
177178

178-
_readFileContents: function(path) {
179-
return readFile(path)
180-
.then(function(buffer) {
181-
return buffer.toString();
182-
});
179+
_readFileContents: async function(path) {
180+
let buffer = await fs.promises.readFile(path);
181+
return buffer.toString();
183182
},
184183

185-
_uploadSuccessMessage: function(key) {
184+
_logUploadSuccessMessage: function(key) {
186185
this.log('Uploaded with key `' + key + '`', { verbose: true });
187-
return RSVP.resolve(key);
188186
},
189187

190-
_errorMessage: function(error) {
188+
_logErrorMessage: function(error) {
191189
this.log(error, { color: 'red' });
192-
return RSVP.reject(error);
193190
}
194191
});
195192

0 commit comments

Comments
 (0)