- http://emberlondon.com/
- https://guides.emberjs.com/v2.5.0/
- http://codeschool.com/
- http://www.html5rocks.com/en/tutorials/es6/promises/
- https://news.ycombinator.com/
- http://emberjs.com/api/
- Loading Substates
- Model Hook API
- Ember Promise API
- First order functions in Javascript | Advanced topic
- Understading JavaScript ES6
- Acceptance testing - Introduction
- Closures & Lexical scoping
- Function#bind
- GRASP | Object Oriented Design Principles
- Multiple Exercises
- Are Controllers dead?
- In Ember.js, should I always call super?
- Route Action Helper
- Ember Twiddle
- Qunit Assert API docs
- Ember CLI Mirage | A mock server utility
- Project commit at acceptance testing introduction
- Implement an action and an action handler in the route. Using the route-action helper
- Render a list of elements on a new route, call it learning-actions
- Implement an action that transitions to another route...do not use {{link-to}}
- Implement an action that removes items from the list
- Implement an action that adds an element to the list
- Install ember-cli-mirage & active-model-adapter Set the active model serialiser adapter
- Add test coverage to the actions-example we worked on yesterday. Make sure all tests are green
- Generate a model, call it room that has a name, and an address
- Implement a route /rooms that gets a list of rooms. Use a factory to populate the server’s database.
- Implement a test where you assert that the route is valid and that a list of rooms are displayed on a UI
- Implement a feature where, from that route, a user can delete a room. This has to send a DEL request to the server.
ctrl+shift+P
settings > user
and then copy and paste the following
"folder_exclude_patterns":
[
".svn",
".git",
".hg",
".sass-cache",
"bower_components",
"node_modules",
"dist",
"CVS",
"tmp",
"vcr_cassettes"
],
model() {
var promiseObject = new RSVP.Promise((_, reject) => {
reject(new Error('🚀'));
});
var toBeExecutedIfThingsGoAllRight = () => {
console.log('THIS WILL NEVER BE CALLED BECAUSE I AM BROKEN');
};
var toBeExecutedOnRejection = (errorObject) => {
return {
message: 'this promise was successfully catched',
errorObject
};
};
var afterEverythingsFinished = () => {
console.log('the storm has ended, everything is finished');
};
return promiseObject
.then(toBeExecutedIfThingsGoAllRight)
.catch(toBeExecutedOnRejection)
.finally(afterEverythingsFinished);
}