Blake Watters
24c0a25519
Fix incorrect serialization of a single object inputted as an array. closes #1289
2013-03-20 10:39:14 -04:00
Blake Watters
499071925b
Added test cases attempting to reproduce duplicated objects issue. refs #1228
2013-03-17 16:17:05 -04:00
Doug Tabuchi
2f11970432
Add currentOffset to RKPaginator
2013-03-14 22:55:59 -04:00
Blake Watters
90fe39e8e9
Fix issue with RKPathAndQueryStringFromURLRelativeToURL function dropping trailing slashes due to reliance on [NSURL path]. fixes #1220
2013-03-12 18:57:13 -04:00
Charlie Savage
6375eecc25
Add countermeasure to prevent occurrence of NSObjectInaccessibleException on ios 5. closes #1208
2013-03-09 23:27:13 -05:00
Blake Watters
de5aed6bde
Fix incorrect type transformation when the destination class is a mutable class. fixes #1201
2013-03-09 23:03:06 -05:00
Blake Watters
197a54bf60
Rework metadata mapping to fix breakage under OS X
2013-02-01 11:26:08 -05:00
Blake Watters
32c52f2d06
Enable metadata mapping for identification attributes. fixes #1202
2013-01-31 11:47:41 -05:00
Blake Watters
4840b4b63e
Fix crash when attempting to union a relationship with a nil value. fixes #1195
2013-01-28 17:22:33 -05:00
Blake Watters
039c7c443d
Fix issue where repeatedly mapping a to-many relationship without identification attributes would cause the first object in the relationship to be inappropriately reused
2013-01-26 12:10:55 -05:00
Blake Watters
3e351509b3
Fix crash when accessing a named route with no object for interpolation
2013-01-25 17:27:38 -05:00
Blake Watters
0364d6c67b
Integrate support for metadata mapping routing data. refs #1174
2013-01-24 23:16:48 -05:00
Blake Watters
4c39918fdb
Implement support for flexible metdata mapping. closes #582 , #688
...
* Metadata mapping is implemented via an `NSProxy` object that stands in for the `sourceObject` of each `RKMappingOperation`
* Key paths that are prefixed with `@metadata.` are mapped against the `metadata` dictionary of the operation, else they hit the `sourceObject`.
* Metadata is implemented by merging a dictionary of data in from `RKObjectRequestOperation`, through to `RKResponseMapperOperation`, into `RKMapperOperation`, and all the way down into the `RKMappingOperation`, where it is available to each object. By convention, metdata is namespaced into subdictionaries.
2013-01-24 16:31:19 -05:00
Blake Watters
23ca0c7ca4
Fix potential crash due to serious Core Data error from failing to obtain a permanent objectID for an object that was just saved to the persistent store, but whose objectID is stale. fixes #1183
2013-01-23 13:20:55 -05:00
Blake Watters
06f2fe9c7b
Radically simplify the implementation of managed object deletion and refetching within RKManagedObjectRequestOperation. closes #1163
...
1. Eliminates use of visitor in favor of aggregating mapping info during mapping. This avoids having to traverse the mapping graph.
1. Eliminate special case handling of cyclic key paths.
1. Eliminate issues with infinite recursion while traversing the mapping graph.
2013-01-18 12:20:51 -05:00
Blake Watters
a2ca2ec937
Fix crash when serializing NSDate properties mapped at nested keypaths. fixes #1134
2013-01-17 11:01:24 -05:00
Blake Watters
5b2eedb849
Add unit tests for mapping 'n' and 'y' characters as Boolean values. refs #1151
2013-01-16 19:29:33 -05:00
Blake Watters
c26739ce6b
Fix issues with mapping errors from 5xx payloads. Ensure acceptableStatusCodes tracks the status codes configured in the response descriptors. fixes #1157
2013-01-16 12:38:44 -05:00
Blake Watters
868d83be2c
Don't create unnecessary objects when mapping temporary managed objects POST'd without identification attributes. closes #1149
2013-01-15 22:45:43 -05:00
Blake Watters
259e6c2fe5
Fix all test breakage in OS X Framework tests
2013-01-15 09:07:44 -05:00
Blake Watters
999edf82c7
Add mapping test for multi-part form upload. refs #1148
2013-01-12 11:23:45 -05:00
Blake Watters
3e425707fb
Fixed problems with initial implementation of temporary managed objects visitor. The implementation was under tested and only worked with a single relationship. refs #1001
2013-01-11 15:56:36 -05:00
Blake Watters
b61039c838
Use a visitor to identify all NSManagedObject instances being sent via the object manager which have a temporary managed object ID to avoid crashes during mapping. refs #1001
2013-01-09 21:11:38 -05:00
Blake Watters
4612121ae5
Unify RKHTTPRequestOperation and RKObjectRequestOperation subclass customization via registration API's. closes #1131
2013-01-08 21:33:45 -05:00
Blake Watters
70180022be
Add support for customizing the RKObjectRequestOperation and RKManagedObjectRequestOperation instances built through the object manager using a registration API very similar to that of AFHTTPClient. closes #1131
2013-01-08 10:49:49 -05:00
Blake Watters
422768f6b1
Add support for dynamic nesting key serialization. closes #684
2013-01-03 23:02:49 -05:00
Blake Watters
c62e962d9d
Add test verifying extra parameters are sent without a request descriptor. refs #1123
2013-01-03 21:56:12 -05:00
Blake Watters
bf63a77bc1
Add support for parameterizing an array of objects. closes #398
2013-01-03 11:11:25 -05:00
Blake Watters
a30263b196
Fix issues with using the Paginator as documented in the headers. fixes #1117
2013-01-01 22:38:18 -05:00
Blake Watters
c08909761e
Adjust completion block implementation for RKPaginator to enable completion block to be invoked when used without a strong reference. fixes #1119 fixes #1093
2013-01-01 22:21:47 -05:00
Blake Watters
a03191c291
Add support for skipping an aggregate relationship mapping in the event that the parent representation does not contain any values for the property mappings of the concrete RKObjectMapping configured for the relationship. fixes #1114 , closes #1115
2012-12-31 17:33:41 -05:00
Blake Watters
b23ea410a8
Add support and test for inversing a mapping containing attributes mapped with nil destination key paths. fixes #1116
2012-12-29 22:13:12 -05:00
Blake Watters
5c21e52829
Update Dynamic Mapping API's to match the rest of the 0.20.x style. Introduce support for predicate based dynamic matching.
...
* Rename RKDynamicMappingMatcher to RKObjectMappingMatcher since it is not strictly coupled to dynamic mapping and works with object mappings.
* Rework matchers into using a class cluster style to enable flexible subclassing to introduce additional matchers.
2012-12-27 22:16:40 -05:00
Blake Watters
92458a1e88
Enable support for mapping a relationship flexibly via assignment policies. You can now map a relationship and assign its value by setting, replacing, or unioning (combining) the relationship. closes #1073 , closes #989
2012-12-26 17:56:39 -05:00
Blake Watters
b858f2753f
Grow up support for mapping to primitives by avoiding crashes due to null conversions. fixes #1043 , fixes #741 , fixes #703
2012-12-26 14:40:59 -05:00
Blake Watters
8d1db8c3a1
Add type transformation verifying nested keypath type transformations work as expected. closes #912
2012-12-26 11:03:34 -05:00
Blake Watters
d1568cad63
Add support for mapping singular values to collections. fixes #1046
2012-12-26 00:20:56 -05:00
Blake Watters
b3899ac191
Add support for mapping a relationship directly from the parent object representation, rather than at a nested key path. closes #859
...
* Update documentation in RKRelationshipMapping.h
2012-12-24 16:18:39 -05:00
Blake Watters
bc719087ac
Intelligently set the targetObject by exploring the mapping graph in appropriateObjectRequestOperationWithObject: to better support cases in which you POST/PUT one object, but map back another. fixes #1081
2012-12-23 00:26:33 -05:00
Blake Watters
7984d4f2ac
Reimplement inverseMapping so that it no longer sucks. fixes #864 , #1058
...
* Inversing non intelligently walks the mapping graph, ensuring that cyclic graphs are resolved properly
* Copy all attributes from the parent to the inverse mapping (date formatters, etc)
2012-12-22 16:36:55 -05:00
Blake Watters
b78deb3eed
Use instancetype in constructors for increased subclassing friendliness
2012-12-22 14:54:49 -05:00
Jeff Arena
dc16dc7e8f
Change to future date test spec
2012-12-21 11:03:45 -05:00
Blake Watters
0cc9ce671e
Improve the error messages for failure to match any key paths in the mapper
2012-12-20 22:16:42 -05:00
Jeff Arena
5258328a39
Future date test
2012-12-19 18:30:24 -05:00
Jeff Arena
43cab3dc6c
Add test case for mapping a future date string
2012-12-19 17:06:01 -05:00
Blake Watters
862e84a515
Hook the RKManagedObjectMappingOperationDataSource into the Managed Object Context save lifecycle to avoid the creation of duplicate objects during sequential mapping operations
2012-12-18 22:00:44 -05:00
Blake Watters
138bbddfcd
Switch the default date formatter to ISO-8601. closes #1069 , refs #1010
2012-12-11 21:51:53 -05:00
Blake Watters
ae6b58d7bc
Add support for parameterizing NSSet. refs #1010
2012-12-11 21:31:40 -05:00
Blake Watters
b9457ce65c
Remove RKObjectManager specific value for the 'Accept' header and configure the header directly on the HTTP client instead. Register the AFJSONRequestOperation class in managerWithBaseURL:. Update documentation.
2012-12-11 21:24:22 -05:00
Blake Watters
7b4098ca6f
Add test coverage for ensuring creation of RKManagedObjectRequestOperation from appropriateObjectRequestOperationWithObject:method:path:parameters: with no matching response descriptors
2012-12-10 09:43:32 -05:00