angularjs-rails-resource 1.2.3 → 2.0.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +1 -1
- data/bower.json +2 -2
- data/lib/angularjs-rails-resource/version.rb +1 -1
- data/package.json +1 -1
- data/vendor/assets/javascripts/angularjs/rails/resource/serialization.js +36 -19
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5dcbb9f729e55fc427ad6eaed8e5356f08315d30
|
4
|
+
data.tar.gz: 19cfc254499c9fe89f5db0bf93576055d2309f89
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 06c9d9ea3be0fbfea6a3bee07b7a85a08623a3d4d394f0ccee79597d65eb4cd9f0f723d8ac53260e4102767d6597da2d6fcf71a900af256650fe23dc0c7e8ac7
|
7
|
+
data.tar.gz: 008723eb726c8aa86aa84ccc15468ef7a6ee223a05ff16fec7c75dc53bf0dbbbf3900a059d28df60ca2afa7f3fd88f6bf13f365a6f52a79b423d92496e5171df
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
<a name="2.0.0"></a>
|
2
|
+
# 2.0.0
|
3
|
+
## Breaking Changes
|
4
|
+
- Renamed <code>Serializer.serializeValue</code> to <code>Serializer.serializeData</code> and added new <code>Serializer.serializeObject</code> method. - #149 (@andrey-abramow)
|
5
|
+
|
1
6
|
<a name="1.2.3"></a>
|
2
7
|
# 1.2.3
|
3
8
|
## Bug Fixes
|
data/README.md
CHANGED
@@ -35,7 +35,7 @@ angular.module('app').config(["railsSerializerProvider", function(railsSerialize
|
|
35
35
|
### Rails Asset Pipeline
|
36
36
|
Add this line to your application's Gemfile to use the latest stable version:
|
37
37
|
```ruby
|
38
|
-
gem 'angularjs-rails-resource', '~>
|
38
|
+
gem 'angularjs-rails-resource', '~> 2.0.0'
|
39
39
|
```
|
40
40
|
|
41
41
|
Include the javascript somewhere in your asset pipeline:
|
data/bower.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "angularjs-rails-resource",
|
3
|
-
"version": "
|
3
|
+
"version": "2.0.0",
|
4
4
|
"main": "angularjs-rails-resource.js",
|
5
5
|
"description": "A resource factory inspired by $resource from AngularJS",
|
6
6
|
"repository": {
|
@@ -25,4 +25,4 @@
|
|
25
25
|
".travis.yml",
|
26
26
|
".gitignore"
|
27
27
|
]
|
28
|
-
}
|
28
|
+
}
|
data/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "angularjs-rails-resource",
|
3
3
|
"description" : "A resource factory inspired by $resource from AngularJS",
|
4
|
-
"version": "
|
4
|
+
"version": "2.0.0",
|
5
5
|
"main" : "dist/angularjs-rails-resource.min.js",
|
6
6
|
"homepage" : "https://github.com/FineLinePrototyping/angularjs-rails-resource.git",
|
7
7
|
"author" : "",
|
@@ -353,7 +353,7 @@
|
|
353
353
|
* @param data The data to prepare
|
354
354
|
* @returns {*} A new object or array that is ready for JSON serialization
|
355
355
|
*/
|
356
|
-
Serializer.prototype.
|
356
|
+
Serializer.prototype.serializeData = function (data) {
|
357
357
|
var result = data,
|
358
358
|
self = this;
|
359
359
|
|
@@ -361,7 +361,7 @@
|
|
361
361
|
result = [];
|
362
362
|
|
363
363
|
angular.forEach(data, function (value) {
|
364
|
-
result.push(self.
|
364
|
+
result.push(self.serializeData(value));
|
365
365
|
});
|
366
366
|
} else if (angular.isObject(data)) {
|
367
367
|
if (angular.isDate(data)) {
|
@@ -369,17 +369,26 @@
|
|
369
369
|
}
|
370
370
|
result = {};
|
371
371
|
|
372
|
-
|
373
|
-
|
374
|
-
if (!angular.isFunction(value)) {
|
375
|
-
self.serializeAttribute(result, key, value);
|
376
|
-
}
|
377
|
-
});
|
372
|
+
this.serializeObject(result, data);
|
373
|
+
|
378
374
|
}
|
379
375
|
|
380
376
|
return result;
|
381
377
|
};
|
382
378
|
|
379
|
+
Serializer.prototype.serializeObject = function(result, data){
|
380
|
+
|
381
|
+
|
382
|
+
var tthis = this;
|
383
|
+
angular.forEach(data, function (value, key) {
|
384
|
+
// if the value is a function then it can't be serialized to JSON so we'll just skip it
|
385
|
+
if (!angular.isFunction(value)) {
|
386
|
+
tthis.serializeAttribute(result, key, value);
|
387
|
+
}
|
388
|
+
});
|
389
|
+
return data;
|
390
|
+
};
|
391
|
+
|
383
392
|
/**
|
384
393
|
* Transforms an attribute and its value and stores it on the parent data object. The attribute will be
|
385
394
|
* renamed as needed and the value itself will be serialized as well.
|
@@ -397,7 +406,7 @@
|
|
397
406
|
return;
|
398
407
|
}
|
399
408
|
|
400
|
-
data[serializedAttributeName] = serializer ? serializer.serialize(value) : this.
|
409
|
+
data[serializedAttributeName] = serializer ? serializer.serialize(value) : this.serializeData(value);
|
401
410
|
};
|
402
411
|
|
403
412
|
/**
|
@@ -435,7 +444,7 @@
|
|
435
444
|
});
|
436
445
|
}
|
437
446
|
|
438
|
-
result = this.
|
447
|
+
result = this.serializeData(result);
|
439
448
|
|
440
449
|
return result;
|
441
450
|
};
|
@@ -447,7 +456,7 @@
|
|
447
456
|
* @param Resource (optional) The resource type to deserialize the result into
|
448
457
|
* @returns {*} A new object or an instance of Resource populated with deserialized data.
|
449
458
|
*/
|
450
|
-
Serializer.prototype.
|
459
|
+
Serializer.prototype.deserializeData = function (data, Resource) {
|
451
460
|
var result = data,
|
452
461
|
self = this;
|
453
462
|
|
@@ -455,27 +464,35 @@
|
|
455
464
|
result = [];
|
456
465
|
|
457
466
|
angular.forEach(data, function (value) {
|
458
|
-
result.push(self.
|
467
|
+
result.push(self.deserializeData(value, Resource));
|
459
468
|
});
|
460
469
|
} else if (angular.isObject(data)) {
|
461
470
|
if (angular.isDate(data)) {
|
462
471
|
return data;
|
463
472
|
}
|
464
|
-
|
465
473
|
result = {};
|
466
474
|
|
467
475
|
if (Resource) {
|
468
476
|
result = new Resource.config.resourceConstructor();
|
469
477
|
}
|
470
478
|
|
471
|
-
|
472
|
-
|
473
|
-
});
|
479
|
+
this.deserializeObject(result, data);
|
480
|
+
|
474
481
|
}
|
475
482
|
|
476
483
|
return result;
|
477
484
|
};
|
478
485
|
|
486
|
+
Serializer.prototype.deserializeObject = function (result, data) {
|
487
|
+
|
488
|
+
var tthis = this;
|
489
|
+
angular.forEach(data, function (value, key) {
|
490
|
+
tthis.deserializeAttribute(result, key, value);
|
491
|
+
});
|
492
|
+
return data;
|
493
|
+
};
|
494
|
+
|
495
|
+
|
479
496
|
/**
|
480
497
|
* Transforms an attribute and its value and stores it on the parent data object. The attribute will be
|
481
498
|
* renamed as needed and the value itself will be deserialized as well.
|
@@ -501,7 +518,7 @@
|
|
501
518
|
if (this.preservedAttributes[attributeName]) {
|
502
519
|
data[attributeName] = value;
|
503
520
|
} else {
|
504
|
-
data[attributeName] = serializer ? serializer.deserialize(value, NestedResource) : this.
|
521
|
+
data[attributeName] = serializer ? serializer.deserialize(value, NestedResource) : this.deserializeData(value, NestedResource);
|
505
522
|
}
|
506
523
|
};
|
507
524
|
|
@@ -518,7 +535,7 @@
|
|
518
535
|
*/
|
519
536
|
Serializer.prototype.deserialize = function (data, Resource) {
|
520
537
|
// just calls deserializeValue for now so we can more easily add on custom attribute logic for deserialize too
|
521
|
-
return this.
|
538
|
+
return this.deserializeData(data, Resource);
|
522
539
|
};
|
523
540
|
|
524
541
|
Serializer.prototype.pluralize = function (value) {
|
@@ -549,4 +566,4 @@
|
|
549
566
|
return railsSerializer;
|
550
567
|
}];
|
551
568
|
});
|
552
|
-
}());
|
569
|
+
}());
|
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:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tommy Odom
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-02-
|
12
|
+
date: 2015-02-11 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: A small AngularJS add-on for integrating with Rails via JSON more easily.
|
15
15
|
email:
|