angularjs-rails-resource 0.1.5 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -115,11 +115,13 @@
|
|
115
115
|
interceptors = config.responseInterceptors || ['railsFieldRenamingInterceptor', 'railsRootWrappingInterceptor'];
|
116
116
|
|
117
117
|
function RailsResource(value) {
|
118
|
+
value || (value = {});
|
118
119
|
var immediatePromise = function(data) {
|
119
120
|
return {
|
121
|
+
resource: RailsResource,
|
120
122
|
response: data,
|
121
123
|
then: function(callback) {
|
122
|
-
this.response = callback(this.response);
|
124
|
+
this.response = callback(this.response, this.resource);
|
123
125
|
return immediatePromise(this.response);
|
124
126
|
}
|
125
127
|
}
|
@@ -140,6 +142,25 @@
|
|
140
142
|
RailsResource.responseInterceptors = [];
|
141
143
|
RailsResource.defaultParams = config.defaultParams;
|
142
144
|
|
145
|
+
// Add a function to run on response / initialize data
|
146
|
+
// model methods and this are not yet available at this point
|
147
|
+
RailsResource.beforeResponse = function(fn) {
|
148
|
+
RailsResource.responseInterceptors.push(function(promise) {
|
149
|
+
return promise.then(function(response) {
|
150
|
+
fn(response.data, promise.resource);
|
151
|
+
return response;
|
152
|
+
});
|
153
|
+
});
|
154
|
+
};
|
155
|
+
|
156
|
+
// Add a function to run on request data
|
157
|
+
RailsResource.beforeRequest = function(fn) {
|
158
|
+
RailsResource.requestTransformers.push(function(data, resource) {
|
159
|
+
fn(data, resource);
|
160
|
+
return data;
|
161
|
+
});
|
162
|
+
};
|
163
|
+
|
143
164
|
// copied from $HttpProvider to support interceptors being dependency names or anonymous factory functions
|
144
165
|
angular.forEach(interceptors, function (interceptor) {
|
145
166
|
RailsResource.responseInterceptors.push(
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: angularjs-rails-resource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-06-01 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: A small AngularJS add-on for integrating with Rails via JSON more easily.
|
16
16
|
email:
|