<feed xmlns='http://www.w3.org/2005/Atom'>
<title>angular.js/src/ngResource, branch v1.2.0rc1</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/'/>
<entry>
<title>style(minerr): prefer component name as namespace</title>
<updated>2013-08-09T21:12:04+00:00</updated>
<author>
<name>Ken Sheedlo</name>
</author>
<published>2013-08-09T18:14:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=45dc9ee7b4a1e004f9fb7edde41d4805d1402ffa'/>
<id>45dc9ee7b4a1e004f9fb7edde41d4805d1402ffa</id>
<content type='text'>
Closes #3527
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #3527
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(resource): check whether response matches action.isArray</title>
<updated>2013-07-31T20:17:37+00:00</updated>
<author>
<name>Pete Bacon Darwin</name>
</author>
<published>2013-07-30T21:48:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=a644ca7b4e6ba84a467bcabed8f99386eda7fb14'/>
<id>a644ca7b4e6ba84a467bcabed8f99386eda7fb14</id>
<content type='text'>
When using $resource you must setup your actions carefully based on what the server returns.
If the server responds to a request with an array then you must configure the action with
`isArray:true` and vice versa.  The built-in `get` action defaults to `isArray:false` and the
`query` action defaults to `isArray:true`, which is must be changed if the server does not do this.
Before the error message was an exception inside angular.copy, which didn't explain what the
real problem was. Rather than changing the way that angular.copy works, this change ensures that
a better error message is provided to the programmer if they do not set up their resource actions
correctly.

Closes #2255, #1044
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When using $resource you must setup your actions carefully based on what the server returns.
If the server responds to a request with an array then you must configure the action with
`isArray:true` and vice versa.  The built-in `get` action defaults to `isArray:false` and the
`query` action defaults to `isArray:true`, which is must be changed if the server does not do this.
Before the error message was an exception inside angular.copy, which didn't explain what the
real problem was. Rather than changing the way that angular.copy works, this change ensures that
a better error message is provided to the programmer if they do not set up their resource actions
correctly.

Closes #2255, #1044
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(Angular): provide minErr as public property</title>
<updated>2013-07-18T21:02:36+00:00</updated>
<author>
<name>Pete Bacon Darwin</name>
</author>
<published>2013-07-08T13:42:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=ef4458a798b6736050436bb63e5a5c90ce958790'/>
<id>ef4458a798b6736050436bb63e5a5c90ce958790</id>
<content type='text'>
This allows us to use minErr in other modules, such as resource and sanitize.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to use minErr in other modules, such as resource and sanitize.
</pre>
</div>
</content>
</entry>
<entry>
<title>chore(resource): use minErr to throw exception</title>
<updated>2013-07-18T21:02:36+00:00</updated>
<author>
<name>Pete Bacon Darwin</name>
</author>
<published>2013-07-08T10:42:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=aad29cbbf0b101bc5e793a66df7e368c7968cad8'/>
<id>aad29cbbf0b101bc5e793a66df7e368c7968cad8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat($resource): support an unescaped URL port</title>
<updated>2013-07-12T09:47:46+00:00</updated>
<author>
<name>Leandro Ostera</name>
</author>
<published>2013-05-14T05:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=b94ca12fa0b027d8592f5717e038b7b116c59384'/>
<id>b94ca12fa0b027d8592f5717e038b7b116c59384</id>
<content type='text'>
The colon character is used to identify parameters in $resource.
This meant that we had to escape the colon used in a port.
It turns out that this is not necessary if we assume that parameter
names cannot consist of only digits.
If the parameter consists only of numbers, then it's a port.

Closes #2778
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The colon character is used to identify parameters in $resource.
This meant that we had to escape the colon used in a port.
It turns out that this is not necessary if we assume that parameter
names cannot consist of only digits.
If the parameter consists only of numbers, then it's a port.

Closes #2778
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor($route): pull $route and friends into angular-route.js</title>
<updated>2013-06-07T00:07:12+00:00</updated>
<author>
<name>Igor Minar</name>
</author>
<published>2013-06-05T22:30:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=5599b55b04788c2e327d7551a4a699d75516dd21'/>
<id>5599b55b04788c2e327d7551a4a699d75516dd21</id>
<content type='text'>
$route, $routeParams and ngView have been pulled from core angular.js
to angular-route.js/ngRoute module.

This is was done to in order keep the core focused on most commonly
used functionality and allow community routers to be freely used
instead of $route service.

There is no need to panic, angular-route will keep on being supported
by the angular team.

Note: I'm intentionally not fixing tutorial links. Tutorial will need
bigger changes and those should be done when we update tutorial to
1.2.

BREAKING CHANGE: applications that use $route will now need to load
angular-route.js file and define dependency on ngRoute module.

Before:

```
...
&lt;script src="angular.js"&gt;&lt;/script&gt;
...
var myApp = angular.module('myApp', ['someOtherModule']);
...
```

After:

```
...
&lt;script src="angular.js"&gt;&lt;/script&gt;
&lt;script src="angular-route.js"&gt;&lt;/script&gt;
...
var myApp = angular.module('myApp', ['ngRoute', 'someOtherModule']);
...
```

Closes #2804
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
$route, $routeParams and ngView have been pulled from core angular.js
to angular-route.js/ngRoute module.

This is was done to in order keep the core focused on most commonly
used functionality and allow community routers to be freely used
instead of $route service.

There is no need to panic, angular-route will keep on being supported
by the angular team.

Note: I'm intentionally not fixing tutorial links. Tutorial will need
bigger changes and those should be done when we update tutorial to
1.2.

BREAKING CHANGE: applications that use $route will now need to load
angular-route.js file and define dependency on ngRoute module.

Before:

```
...
&lt;script src="angular.js"&gt;&lt;/script&gt;
...
var myApp = angular.module('myApp', ['someOtherModule']);
...
```

After:

```
...
&lt;script src="angular.js"&gt;&lt;/script&gt;
&lt;script src="angular-route.js"&gt;&lt;/script&gt;
...
var myApp = angular.module('myApp', ['ngRoute', 'someOtherModule']);
...
```

Closes #2804
</pre>
</div>
</content>
</entry>
<entry>
<title>feat($resource): expose promise instead of only $then</title>
<updated>2013-05-23T21:18:29+00:00</updated>
<author>
<name>Alexander Shtuchkin</name>
</author>
<published>2013-04-16T22:08:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=05772e15fbecfdc63d4977e2e8839d8b95d6a92d'/>
<id>05772e15fbecfdc63d4977e2e8839d8b95d6a92d</id>
<content type='text'>
- Instance or collection have `$promise` property which is the initial promise.
- Add per-action `interceptor`, which has access to entire $http response object.

BREAKING CHANGE: resource instance does not have `$then` function anymore.

Before:

Resource.query().$then(callback);

After:

Resource.query().$promise.then(callback);

BREAKING CHANGE: instance methods return the promise rather than the instance itself.

Before:

resource.$save().chaining = true;

After:

resource.$save();
resourve.chaining = true;

BREAKING CHANGE: On success, promise is resolved with the resource instance rather than http
response object.

Use interceptor to access the http response object.

Before:

Resource.query().$then(function(response) {...});

After:

var Resource = $resource('/url', {}, {
  get: {
    method: 'get',
    interceptor: {
      response: function(response) {
        // expose response
        return response;
      }
    }
  }
});
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Instance or collection have `$promise` property which is the initial promise.
- Add per-action `interceptor`, which has access to entire $http response object.

BREAKING CHANGE: resource instance does not have `$then` function anymore.

Before:

Resource.query().$then(callback);

After:

Resource.query().$promise.then(callback);

BREAKING CHANGE: instance methods return the promise rather than the instance itself.

Before:

resource.$save().chaining = true;

After:

resource.$save();
resourve.chaining = true;

BREAKING CHANGE: On success, promise is resolved with the resource instance rather than http
response object.

Use interceptor to access the http response object.

Before:

Resource.query().$then(function(response) {...});

After:

var Resource = $resource('/url', {}, {
  get: {
    method: 'get',
    interceptor: {
      response: function(response) {
        // expose response
        return response;
      }
    }
  }
});
</pre>
</div>
</content>
</entry>
<entry>
<title>feat($http): add support for aborting via timeout promises</title>
<updated>2013-05-20T21:15:04+00:00</updated>
<author>
<name>David Bennett</name>
</author>
<published>2013-04-27T15:22:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=9f4f5937112655a9881d3281da8e72035bc8b180'/>
<id>9f4f5937112655a9881d3281da8e72035bc8b180</id>
<content type='text'>
If the timeout argument is a promise, abort the request when it is resolved.
Implemented by adding support to $httpBackend service and $httpBackend mock
service.

This api can also be used to explicitly abort requests while keeping the
communication between the deffered and promise unidirectional.

Closes #1159
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the timeout argument is a promise, abort the request when it is resolved.
Implemented by adding support to $httpBackend service and $httpBackend mock
service.

This api can also be used to explicitly abort requests while keeping the
communication between the deffered and promise unidirectional.

Closes #1159
</pre>
</div>
</content>
</entry>
<entry>
<title>fix($resource): null default param results in TypeError</title>
<updated>2013-05-16T21:26:08+00:00</updated>
<author>
<name>Ryan Schumacher</name>
</author>
<published>2013-04-03T15:40:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=cefbcd470d4c9020cc3487b2326d45058ef831e2'/>
<id>cefbcd470d4c9020cc3487b2326d45058ef831e2</id>
<content type='text'>
Fixes issue when setting a default param as `null` error
`TypeError: Cannot read property 'charAt' of null`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes issue when setting a default param as `null` error
`TypeError: Cannot read property 'charAt' of null`
</pre>
</div>
</content>
</entry>
<entry>
<title>feat($resource): collapse empty suffix parameters correctly</title>
<updated>2013-05-14T19:01:15+00:00</updated>
<author>
<name>Glenn Goodrich</name>
</author>
<published>2013-05-13T13:16:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.teddywing.com/fork/angular.js/commit/?id=53061363c7aa1ab9085273d269c6f04ac2162336'/>
<id>53061363c7aa1ab9085273d269c6f04ac2162336</id>
<content type='text'>
Previously only repeated `/` delimiters were collapsed into a
single `/`.  Now, the sequence `/.` at the end of the template, i.e.
only followed by a sequence of word characters, is collapsed into a single
`.`. This makes it easier to support suffixes on resource URLs.
For example, given a resource template of `/some/path/:id.:format`, if
the `:id` is `""` but format `"json"` then the URL is now
`/some/path.json`, rather than `/some/path/.json`.

BREAKING CHANGE: A `/` followed by a `.`, in the last segment of the
URL template is now collapsed into a single `.` delimiter. For example:
`users/.json` will become `users.json`. If your server relied upon this
sequence then it will no longer work. In this case you can now escape the
`/.` sequence with `/\.`
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously only repeated `/` delimiters were collapsed into a
single `/`.  Now, the sequence `/.` at the end of the template, i.e.
only followed by a sequence of word characters, is collapsed into a single
`.`. This makes it easier to support suffixes on resource URLs.
For example, given a resource template of `/some/path/:id.:format`, if
the `:id` is `""` but format `"json"` then the URL is now
`/some/path.json`, rather than `/some/path/.json`.

BREAKING CHANGE: A `/` followed by a `.`, in the last segment of the
URL template is now collapsed into a single `.` delimiter. For example:
`users/.json` will become `users.json`. If your server relied upon this
sequence then it will no longer work. In this case you can now escape the
`/.` sequence with `/\.`
</pre>
</div>
</content>
</entry>
</feed>
