Skip to content

Instantly share code, notes, and snippets.

@heymichaelp
Created May 30, 2014 18:50
Show Gist options
  • Save heymichaelp/56e768f88696ecc9edea to your computer and use it in GitHub Desktop.
Save heymichaelp/56e768f88696ecc9edea to your computer and use it in GitHub Desktop.
var IssueGrades = function( gradedAssignments ) {}
IssueGrades.prototype = {
run: function() {
alert('issued!');
return gradedAssignments;
}
}
var issueGrades = new IssueGrades( gradedAssignments );
issueGrades.run();
var PrintReportCards = function( issueGrades ) {}
PrintReportCards.prototype = {
print: function() {
alert('cards printed!');
},
run: function() {
this.issueGrades.run() && this.print();
return this.issueGrades;
}
}
var issueGrades = new PrintReportCards( new IssueGrades( gradedAssignments ) );
issueGrades.run();
var EmailReportCards = function( issueGrades ) {}
EmailReportCards = function( issueGrades ) {
email: function() {
alert('emailed!');
},
run: function() {
this.issueGrades.run() && this.email();
}
}
var issueGrades = new EmailReportCards( new PrintReportCards( new IssueGrades( gradedAssignments ) ) );
issueGrades.run();
// As opposed to
new IssueGrades( gradedAssignments ).run()
.then( function( gradedAssignments ) {
return new PrintReportCards( gradedAssignments ).run();
})
.then( function( gradedAssignments ) {
return new EmailReportCards( gradedAssignments ).run();
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment