restangular

a quick look see

install

bower install restangular 

angular.module('your-app', ['restangular']); 

setup a base restful url

 var planets = restangular.all('planets');
GET the planets
 planets.getList();
 planets.getRestangularUrl();
 "/planets"
Promises ( not quite $q )
 planets.getList().then(function(data){...});

returned models are restangularized

Models are decorated (infected) with standard methods to
get, put, post, delete, etc.
id: "moon"
....
one: function () {
oneUrl: function () {
options: function () {
parentResource: Object
patch: function () {
plain: function () {
post: function () {
put: function () {
...MANY MORE
disinfect a model
 moon.plain();

earth

var earth;
planets.getList().then(function(data) { earth = data[2]; });

//or get it directly

planets.one('Earth’).doGET();

Earth Details
earth.get();
planets.one('Earth').get();
earth.getRestangularUrl();

*restangular expects an id property

Moons

 earth.getList('moons');
var moon;
earth.getList('moons').then(function(data) { moon = data[0]; });
Restangular models know where the live
 moon.getRestangularUrl()
"/planets/Earth/moons/Moon"

smart models know rest

var newMoon = restangular.copy(moon);
newMoon.id = 'NewMoon';
newMoon.save();
newMoon.remove();

Made with Slides.com