Commit Graph

341 Commits

Author SHA1 Message Date
Blake Watters
d761de0ea7 Fix crash when attempting to map nil sourceKeyPath as identification attribute 2013-01-26 00:21:44 -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
cd877860fd Tweak docs, add test cases for mapping a response with a descriptor that does not specify any attributes/relationships 2013-01-23 15:26:52 -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
Johannes Plunien
4ae497afb1 Add test to verify managedObjectContext on empty results. 2013-01-21 20:33:56 +01:00
Blake Watters
2351fc2472 Add unit test and fix for crash during eviction of cache keys during query for compound identification attributes. closes #1171 2013-01-21 13:18:42 -05:00
Blake Watters
2cf73d2436 Fix failed assertion when constructing an unprocessable response error for 5xx errors. closes #1169 2013-01-18 18:57:34 -05:00
Blake Watters
3d52c459aa Add test case for empty 5xx response. refs #1169 2013-01-18 17:51:56 -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
f2abd1e107 Add test coverage verifying fix for crash during cyclic graph traversal in RKManagedObjectRequestOperation. closes #1142 2013-01-17 18:47:02 -05:00
Blake Watters
a65a50e8f7 Fix bug with mapping nested attribute values with identification attributes when the identification attribute is not the nesting key. fixes #1129 2013-01-17 11:34:40 -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
01c34fe289 Fix crash when mapping to NSManagedObject class with Transformable attribute without a backing property. fixes #1162 2013-01-17 10:38:53 -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
bcbbd65fbe Fix issue in which managed objects that are the children of non-managed objects were refetched and assigned as a collection rather than as a singular value. fixes #1118 2013-01-16 17:49:32 -05:00
Johannes Plunien
62af9290d4 Add test case for unexpected NSSet. #1118 2013-01-16 14:01:39 -05:00
Blake Watters
a8f3887b26 Fix bug with status code handling when statusCodes is nil for any response descriptor. 2013-01-16 13:57:24 -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
260d01a1b0 Switch to use of Expecta raiseWIthReason matcher after applying fix for crash due to failure to copy blocks 2013-01-15 09:14:11 -05:00
Blake Watters
259e6c2fe5 Fix all test breakage in OS X Framework tests 2013-01-15 09:07:44 -05:00
Blake Watters
c98dd41c2f Reimplement predicate caching within the RKFetchRequestManagedObjectCache to avoid nasty crash due to malformed predicates. fixes #1141 2013-01-14 23:01:55 -05:00
Blake Watters
840b37a4f9 Fix bug in mapper delegate configuration and add missing test coverage for response mapper operation and both object request operation classes. closes #1156 2013-01-14 14:23:32 -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
c9a88c36e4 Move Testing doc to more discoverable place 2013-01-11 08:12:15 -05:00
Blake Watters
f4b805ff52 Fix issues with implementation of error override in RKHTTPRequestOperation. fixes #1140 2013-01-09 22:42:39 -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
4c0e62a62a Add new RKManagedObjectStore method for assisting in performing migrations when you have made dynamic modifications to the managed object model (such as when you leverage the Search indexing support) 2013-01-08 18:26:05 -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
905048f737 Fix issue where unsaved managed object POST'd to the server with unsaved changes are not persisted if no mapping occurs. fixes #1130 2013-01-07 19:56:14 -05:00
Blake Watters
3d1bb617e7 Fix test breakage when your ISP returns a custom HTTP response page for an invalid host 2013-01-07 14:19:57 -05:00
Blake Watters
7f8320c514 Add helpful error message if you call requestMapping on an RKObjectMapping subclass 2013-01-06 01:11:09 -05:00
Blake Watters
422768f6b1 Add support for dynamic nesting key serialization. closes #684 2013-01-03 23:02:49 -05:00
Blake Watters
896eef1a1b Add test case for failure to load due to unsupported URL. refs #1122 2013-01-03 22:06:26 -05:00
Blake Watters
1423f77a51 Add test case for failure to load due to invalid hostname. refs #1122 2013-01-03 22:03:01 -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
9005bd573c Add test coverage and fixes for RKMappingTest. closes #1086 2013-01-03 18:19:50 -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
879ffd73e6 Add support for deleting Core Data managed objects that fail validation out of the mapping context. This enables you to silently drop mapping for managed objects that fail validation. fixes #691 closes #694 2013-01-01 23:56:58 -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
28887d3384 Add support for deletion of mapped objects by predicate. closes #1109 2013-01-01 15:27:01 -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
312b382f25 Add test and fix for invalid key path exceptions with dynamic mappings. refs #1111 2012-12-30 00:01:50 -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
6493282772 Rework implementation of managed object deletion and refetching to use the refreshed visitor implementation. refs #1111, #1113 2012-12-29 17:28:31 -05:00