Skip to content

Instantly share code, notes, and snippets.

@YoneMoreno
Created November 6, 2017 06:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save YoneMoreno/f118e1e6c92ccce3beb1674f6f64bc33 to your computer and use it in GitHub Desktop.
Save YoneMoreno/f118e1e6c92ccce3beb1674f6f64bc33 to your computer and use it in GitHub Desktop.
var Task = require('./task');
var Repo = require('./taskRepository');
var task1 = new Task(Repo.get(1));
var task2 = new Task({name: 'create a demo for modules'});
var task3 = new Task({name: 'create a demo for singletons'});
var task4 = new Task({name: 'create a demo for prototypes'});
task1.complete();
task2.save();
task3.save();
task4.save();
var Repo = require('./taskRepository');
var Task = function(data){
this.name=data.name;
this.completed=false;
}
Task.prototype.complete = function () {
console.log('completing task: ' + this.name);
this.completed=true;
};
Task.prototype.save=function(){
console.log('saving Task: ' + this.name);
Repo.save(this);
};
module.exports = Task;
var repo = function(){
var db = {};
var get = function(id){
console.log('Getting task ' + id);
return {
name: 'new task from db'
}
};
var save = function(task){
console.log('Saving ' + task.name + ' to the db');
};
return {
get: get,
save: save
}
}
module.exports = repo();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment