Blake Watters
648b159f9a
Remove dead code
2012-11-29 23:35:37 -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
7d9087b722
Supress extraneous logging when type is transformed to nil
2012-11-09 12:12:42 -05:00
Blake Watters
e109036683
Add support and test coverage for serializing Boolean properties to JSON as true/false instead of numbers. closes #920 , #827
2012-11-08 23:41:19 -05:00
Blake Watters
3db5307f6a
Add missing test coverage for key path based connection scenarios. Fixes crashes resulting from double collection wrapping during connection.
2012-11-08 19:31:38 -05:00
Blake Watters
d689ba9291
Add support for mapping to NSData attributes using a NSKeyedArchiver. closes #910
2012-11-07 11:00:15 -05:00
Blake Watters
454eb2e8fa
Correct usage of 'method' instead of 'function' in comment
2012-10-28 19:40:22 -04:00
Blake Watters
117fcbb18c
Fix horrible bugs in previous commit
2012-10-21 15:58:03 -04:00
Blake Watters
f93a044561
Add error condition when attempting to map an RKEntityMapping containing connection mappings with a nil managed object cache.
...
* Add support for the data source to fail mapping operation with an error.
* Clean up error handling within RKMappingOperation
2012-10-21 15:47:16 -04:00
Blake Watters
63c9a9e4a0
Fix bug in which relationship connection operations are not enqueued for RKMappingOperation instances whose mapping is an RKDynamicMapping
2012-10-20 16:53:14 -04:00
Blake Watters
08110ca300
Implement support for cancellation and prioritization of response mapping operations using an operation queue global to all object request operations.
...
* Passes through cancellation from object request operation to HTTP request operation and response mapping operation. closes #993
* Performs all object mapping within an NSOperationQueue to enable constraining of mapping activities.
* Add default mapping queue with concurrency limit of 1 operation.
* Migrate deserialization of the response body into a serial dispatch queue to ensure that only one parse occurs at a time.
2012-10-20 00:13:48 -04:00
Blake Watters
639897dd67
Refactored relationship mapping implementation to make it easier to follow and debug
2012-10-19 17:53:09 -04:00
Blake Watters
e748e5bfce
Don't throw an exception if doing a simple attribute mapping with a nil data source. closes #1005
2012-10-18 15:17:57 -04:00
Blake Watters
e8b4cdd19c
DRY up find or create of destination object within the mapping operation and change nil destination object to an error condition instead of an assertion.
2012-10-18 14:06:46 -04:00
Blake Watters
fb6db948e1
Implement support for using dynamic mapping during parameterization with a Request Descriptor. closes #684
2012-10-18 12:14:16 -04:00
Blake Watters
20c4121644
Improve logging when mapping a null relationship value. refs #862
2012-10-16 20:50:35 -04:00
Blake Watters
9d617c6c7b
Add support for disconnecting relationships when mapping a related keypath whose value is equal to [NSNull null]. fixes #862
2012-10-16 20:48:27 -04:00
Jeff Arena
53f4105e57
Split out simple and keyPath attribute mappings to allow relationship mappings to run before keyPath mappings.
2012-10-16 18:07:36 -04:00
Blake Watters
64e9c7cb6d
Add support for mapping attributes to deeply nested keyPaths on NSMutableDictionary. fixes #882
2012-10-15 22:00:14 -04:00
Blake Watters
74624200da
Fix inappropriate override of start method in RKMappingOperation. This should be main, as we are not concurrent
2012-10-15 18:41:45 -04:00
Blake Watters
4a7ed3cbd3
Rename test files to align with classes
2012-10-14 13:51:39 -04:00
Blake Watters
877ce255b5
Expand test coverage and fix situations where requests would unexpectedly initialize incorrectly without error
...
* RKObjectParameterization now returns an empty dictionary if mapping produces an unmappable representation error (no mappable attributes/relationships found)
* Log errors if request construction results in an NSError and return nil
* Ensure errors are passed back up through object parameterization instead of just returning nil
* Reset the serialization MIME Type registry during RKTestFactory set up to ensure it is in a sane state
* Convert Hamcrest matchers to Expecta in the object mapper tests to fix infinite recursion on test failure (will need to completely phase out Hamcrest soon)
2012-10-05 19:16:55 -04:00
Blake Watters
d95fe5cd44
Break out reused functions for object mapping introspection into RKObjectUtilities
2012-09-30 12:49:59 -04:00
Blake Watters
ecb6af4776
Factor date formatting into reusable convenience functions
2012-09-28 14:59:57 -04:00
Arne Harren
bc7c65f03b
Switch to an embedded variant of LibComponentLogging with prefix RK
2012-09-27 21:47:36 +02:00
Blake Watters
e56754cb65
Add support for mapping of numeric dates encoded in strings via NSNumberFormatter. closes #815
2012-09-25 21:18:03 -04:00
Blake Watters
235f5fc579
Fix all build errors in unit tests. Restore execution of core mapping tests.
2012-09-24 22:44:20 -04:00
Blake Watters
654364af61
Document RKDynamicMappingMatcher and clean up API
2012-09-21 22:59:43 -04:00
Blake Watters
6815ba6444
API refresh for mapping layer. Converted RKObjectMapper to RKMapperOperation. Expanded documentation.
2012-09-21 17:55:32 -04:00
Blake Watters
7e816904ff
Docs update. Eliminate mappingOperationFromObject:
2012-09-20 19:11:38 -04:00
Blake Watters
991ced34da
Docs for mapping operation data source. Still don't love the method names. Maybe we can eliminate this somehow...
2012-09-20 08:12:29 -04:00
Blake Watters
742cc2aca9
Merge pull request #931 from diederich/fix/includes
...
3 minor cleanup commits regarding includes / headers
2012-09-16 10:45:33 -07:00
Stephan Diederich
6e4b1a1600
fix performance of MappingOperation ( #902 )
...
This commit replaces the special handling of unix-timestamps
into the existing dateformatter architecture.
By adding it to the end of the list, it's still present, but doesn't
'cost' anything for all other users.
2012-09-14 16:19:51 +02:00
Stephan Diederich
b984b832c6
fix formatting
2012-09-14 16:03:23 +02:00
Stephan Diederich
3889424b82
remove unnecessary include
2012-09-14 14:42:02 +02:00
Jawwad Ahmad
8cbdb5f7ed
Trailing whitespace cleanup from files in the Code directory.
...
Used the following command from within the Code dir:
git ls-files *.m *.h *.json | xargs /usr/bin/sed -i '' -E 's/[[:space:]]*$//'
2012-09-02 12:51:45 -04:00
Jawwad Ahmad
c70ab49457
Delete @synthesize statements that are no longer needed. (Works with current 4.4.1 release of Xcode).
2012-09-02 12:28:45 -04:00
Blake Watters
2cf16be6cb
Add support for performing object mapping with type transformations across relationships defined with keyPaths
2012-08-31 17:47:44 -04:00
Blake Watters
33df114c01
Eliminate NSClassFromString handling for NSOrderedSet since we target iOS 5.0+ now
2012-08-31 17:47:44 -04:00
Blake Watters
d3f66418f2
Remove implicit initialization of dataSource for mapping operation as it gets deallocated unde ARC
2012-08-29 13:23:27 -04:00
Blake Watters
ce6b0829e4
Convert RestKit to ARC
2012-08-28 17:34:58 -04:00
Blake Watters
d926e240f8
Introduce RKPropertyMapping abstract superclass for RKAttributeMapping and RKRelationshipMapping.
...
Add primitives for working with attribute, relationship, and property mapping objects.
2012-08-28 14:14:20 -04:00
Blake Watters
232b3eb861
Implemented new search engine for managed objects.
2012-08-01 18:12:53 -04:00
Blake Watters
a8f64e7982
Continued cleanup related to managed object context work
2012-07-17 13:44:50 -04:00
Blake Watters
b25a1833b3
Ported RestKit to using managed object contexts with concurrency types. Numerous cleanups and API updates.
2012-07-16 22:47:06 -04:00