Skip to content

Commit

Permalink
Merge pull request #30 from JohnnyEstilles/refactor/get-stream
Browse files Browse the repository at this point in the history
Simplify Changelog#generate by using `fs-extra` to create stream
  • Loading branch information
rafinskipg committed Jun 5, 2015
2 parents 5ed5721 + 80dbe3e commit a52b116
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 89 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"dependencies": {
"commander": "^2.8.0",
"debug": "^2.1.3",
"fs-extra": "^0.18.4",
"lodash": "^3.7.0",
"q": "^1.2.0"
},
Expand Down
2 changes: 0 additions & 2 deletions tasks/git_changelog_generate.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ Changelog.prototype.writeChangelog = require('./lib/write-change-log');
Changelog.prototype.organizeCommits = require('./lib/organize-commits');
Changelog.prototype.getPreviousTag = require('./lib/get-previous-tag');
Changelog.prototype.getRepoUrl = require('./lib/get-repo-url');
Changelog.prototype.checkPath = require('./lib/check-path');
Changelog.prototype.getStream = require('./lib/get-stream');
Changelog.prototype.generate = require('./lib/generate');

Changelog.prototype.log = require('./lib/log');
Expand Down
40 changes: 0 additions & 40 deletions tasks/lib/check-path.js

This file was deleted.

33 changes: 12 additions & 21 deletions tasks/lib/generate.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,23 @@

var debug = require('debug')('changelog:generate');
var q = require('q');

function writeChangelogDone(deferred) {
deferred.resolve(this.options);
}

function writeCommitsToStream(deferred, commits, stream) {
this.writeChangelog(stream, commits)
.then(writeChangelogDone.bind(this, deferred));
}
var fse = require('fs-extra');

function generateFromCommits(deferred, commits) {
var stream;

this.message('parsed commits', commits.length);
this.log('Parsed', commits.length, 'commits');
this.log('Generating changelog to', this.options.file || 'stdout', '(', this.options.version, ')');

this.getStream(this.options.file)
.then(writeCommitsToStream.bind(this, deferred, commits));
}
if (this.options.file) {
stream = fse.createOutputStream(this.options.file);
} else {
stream = process.stdout;
}

function handleReadGitLogError(err) {
console.log('error', err);
this.writeChangelog(stream, commits)
.then(deferred.resolve.bind(deferred, this.options));
}

function generateFromTag(deferred, tag) {
Expand All @@ -40,12 +36,7 @@ function generateFromTag(deferred, tag) {

readGitLog()
.then(generateFromCommits.bind(this, deferred))
.catch(handleReadGitLogError);
}

function handleGenerateError(deferred, err) {
console.log('Error generating changelog ', err);
deferred.reject(err);
.catch(console.log.bind(console, 'error'));
}

function generate(params) {
Expand All @@ -56,7 +47,7 @@ function generate(params) {
this.init(params)
.then(this.getPreviousTag.bind(this))
.then(generateFromTag.bind(this, deferred))
.catch(handleGenerateError.bind(null, deferred));
.catch(deferred.reject.bind(deferred));

return deferred.promise;
}
Expand Down
26 changes: 0 additions & 26 deletions tasks/lib/get-stream.js

This file was deleted.

0 comments on commit a52b116

Please sign in to comment.