Commit Graph

1452 Commits

Author SHA1 Message Date
Blake Watters
280fd5d571 Fix crashes during refetch if objects were deleted. Expand managed object deletion support to handle nested objects. refs #1066 2012-12-13 17:35:39 -05:00
Blake Watters
1289e769ac Add some organization to the RKMappingOperationDelegate headers 2012-12-13 16:03:45 -05:00
Blake Watters
a471bdd8a3 Add support for refetching NSManagedObject instances mapped at any point in the object graph. refs #1066 2012-12-12 20:47:14 -05:00
Blake Watters
69c65ef8ab Override error implementation to correct the NSLocalizedDescription key for RKHTTPRequestOperation objects. fixes #1070 2012-12-11 23:12:20 -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
f51a711a15 Add test coverage and bug fix for mapping error while processing an error response with RKObjectResponseMapperOperation. closes #1064 2012-12-11 09:00:57 -05:00
Blake Watters
3fe377c03a Remove another pair of keyed subscript access instances 2012-12-10 17:18:00 -05:00
Blake Watters
5efcfe2c41 Eliminate remaining use of keyed subscript access 2012-12-10 17:12:53 -05:00
Blake Watters
abe67dcbb5 Eliminate use of keyed subscript access in RKEntityMapping inadvertantly introducing iOS 6.0 dependencies 2012-12-10 10:50:51 -05:00
Blake Watters
3b5fe29e8b Fix incorrect consultation of containsEntityMapping rather than isManagedObjectRequestOperation 2012-12-09 23:55:40 -05:00
Blake Watters
1c86cfab75 Improve RKManagedObjectRequestOperation handling for DELETE requests and expand test coverage
* Failure to match a response descriptor no longer fails DELETE requests
2012-12-09 23:24:45 -05:00
Blake Watters
4c735bafdd Updated mapping test API for 0.20
* Reimplemented connection tests to work with `RKConnectionDescription`. Introduced new `RKConnectionTestExpectation` class
* Slimmed down API by removing proxy methods on `RKMappingTest`
* Eliminated `verifiesOnExpect` behavior in favor of using `evaluateExpectation:`
* Ensured compatibility with RKKiwiMatchers
2012-12-09 12:24:30 -05:00
Blake Watters
f3cd0f6e07 Implemented connectionBlock property on RKRelationshipConnectionOperation for tracking connection status synchronously 2012-12-09 12:21:53 -05:00
Blake Watters
38480b269c Rev docs referencing primaryKey as opposed to identificationAttributes 2012-12-08 11:41:48 -05:00
Blake Watters
c06a1a314d Add documentation notes about the importance of coercing your values from the path matcher 2012-12-08 00:44:28 -05:00
Blake Watters
3d6c211417 Add documentation notes about how easy it is to fuck things up with relative paths 2012-12-08 00:34:15 -05:00
Blake Watters
61102be1a4 Fix incorrect mapping results for secondary key paths when more than one response descriptor matches and there is a targetObject. fixes #1057 2012-12-07 18:56:14 -05:00
Blake Watters
5685a5fb60 Add test case investigating #921 2012-12-07 18:25:47 -05:00
Blake Watters
d79dec118a Greatly improve error output when all response descriptors fail to match. closes #1060 2012-12-07 17:39:02 -05:00
Blake Watters
f4457f2948 Add MOC reset to the beginning of resetPersistentStores:. closes #1018 2012-12-07 15:06:13 -05:00
Blake Watters
7eef2f2174 Expand documentation about connecting relationships with collection values 2012-12-07 14:46:23 -05:00
Blake Watters
0eb875679d Add proxy attributes enabling pagination mapping configuration under iOS 5. Expand documentation. closes #1040 2012-12-07 14:16:50 -05:00
Blake Watters
b1f57612e1 Add support for replacing the HTTP client on the object manager and mutating the baseURL on the router. closes #1051 2012-12-07 13:49:18 -05:00
Blake Watters
997158e9e6 Fix issues with incorrect determination of the appropriate object request operation. fixes #1054, #1056
* Expands test coverage for the `appropriateObjectRequestOperationWithObject:method:path:parameters:`
* Uses an object graph visitor to completely navigate the mapping graph, ensuring that an `RKEntityMapping` appearing at any nesting level will be correctly handled
2012-12-07 12:40:02 -05:00
Sam Krishna
0210424c6c Added proper support for RKDynamicMapping as a container for RKEntityMappings inside of RKObjectManager. 2012-12-07 11:41:33 -05:00
Blake Watters
79e31b524a Refactored managed object caches and connection support to enable connecting by multiple atributes that are specified as arrays.
* Migrated the caches to return `NSSet` to eliminate duplicate objects when your cache keys overlap
* Introduced new recursive strategy for building cache keys in `RKInMemoryManagedObjectCache`
* Added support for array cache key values in `RKFetchRequestManagedObjectCache`
* Re-enabled a slew of tests that were disabled during 0.20 development
2012-12-06 23:43:34 -05:00
Blake Watters
9672e0a471 Remove use of keyed subscript to access RKEntityIdentificationAttributesUserInfoKey 2012-12-05 23:13:13 -05:00
Blake Watters
a5dc037ef9 Add support for inferring attributes that match the snake-case _id pattern. closes #1047 2012-12-02 14:34:03 -05:00
Blake Watters
cbb3f70571 Eliminate the RKEntityIdentifier class and migrate the functionality into properties on RKEntityMapping 2012-12-02 13:08:52 -05:00
Blake Watters
ff1de2b740 Fix incorrect header comment in documentation of RKRequestDescriptor. fixes #1048 2012-12-02 00:28:19 -05:00
Blake Watters
80f5f7af56 Update README to match updated method signature for the entity by attribute cache 2012-12-02 00:24:14 -05:00
Blake Watters
ddbd1e1f95 Fix inappropriate managed object context reference in [RKEntityByAttributeCache addObject:] 2012-12-02 00:23:49 -05:00
Blake Watters
c9e222fdc6 Fix documentation error in RKDynamicMapping header 2012-12-01 16:34:14 -05:00
Blake Watters
89d0294dcd Expose access to the RKMapperOperationDelegate to RKObjectRequestOperation subclasses. closes #1009 2012-11-29 23:35:45 -05:00
Blake Watters
648b159f9a Remove dead code 2012-11-29 23:35:37 -05:00
Blake Watters
9fc0703d21 Fix crash when attempting to connect a one-to-one relationship that returns an empty result set 2012-11-29 00:22:42 -05:00
Blake Watters
4eb765aad8 Switch to %ld and cast counts to long to suppress warnings on OS X 2012-11-29 00:21:56 -05:00
Blake Watters
1318edd082 Add docs about using the user info to configure an entity identifier 2012-11-28 22:56:56 -05:00
Blake Watters
b502f5431b Drop the entity description category entirely 2012-11-28 22:52:39 -05:00
Blake Watters
b045520e98 Add Apache license boilerplate to unadorned Core Data files 2012-11-28 22:46:36 -05:00
Blake Watters
a31c537492 Finish documentation for RKEntityMapping to cover Entity Identification and Connections 2012-11-28 22:45:27 -05:00
Blake Watters
8bcfd47270 Header docs for entity identifier 2012-11-27 23:24:03 -05:00
Blake Watters
03ee8d005f Docs cleanup 2012-11-27 22:45:26 -05:00
Blake Watters
adf4a5d49e Drop RKConnectionMapping, cleanup. Add predicate support 2012-11-27 22:34:55 -05:00
Blake Watters
1196a42e54 Docs for RKConnectionDescription 2012-11-27 22:18:29 -05:00
Blake Watters
8dc54a89b2 Major overhaul to the Core Data managed object identification and relationship connection support.
* Replaces primary key with `RKEntityIdentifier`
* Add support for use of compound keys for object identification
* Refactor `RKConnectionMapping` to `RKConnectionDescription` and add support for connecting with multiple attributes
* Clarify naming of representation key methods to better match naming conventions
* Add type transformation support for object identification
* Greatly expand test coverage for object identification
* Drop the `NSEntityDescription` category
* Simplify the `RKManagedObjectCaching` protocol
* Add compound key support to the Fetch Request and In Memory Cache implementations
* Replace Kiwi with Specta for tests where contexts are helpful for organization
* Rename `defaultValueForMissingAttribute` to `defaultValueForAttribute`
2012-11-27 10:29:36 -05:00
Blake Watters
7888a55f6c Remove the ignoreUnknownKeyPaths option. closes #840 2012-11-19 19:21:24 -05:00
Blake Watters
36c60608b2 Add support for transforming source to destination key paths using a block. This enables one to DRY up mapping configuration. 2012-11-19 18:53:13 -05:00