Blake Watters
4759a90cdc
Add more cancellation backstopping to avoid NSObjectInaccessibleException crashes when executing RKManagedObjectRequestOperation instances that have been cancelled and the Core Data environment has shifted underneath them (i.e. records have been deleted from the store)
2013-02-05 14:07:46 -05:00
Blake Watters
00412cfebb
Add rescue for NSObjectInaccessibleException within RKRelationshipConnectionOperation
2013-02-04 12:39:59 -05:00
Blake Watters
79150ad51e
Guard against a potential "Could not fulfill a fault" crash during relationship connection if the object being connected has been deleted before the operation executes
2013-02-04 11:08:55 -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
abd207420b
Fix missing language in log message
2013-01-21 12:55:39 -05:00
Blake Watters
9dc08ca27b
Drop instancetype from init methods since the compiler will infer it
2013-01-01 15:27:01 -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
7d63ca36ac
Improve relationship connection behaviors when all connection attributes resolve to nil. Add logic for skipping the connection entirely. refs #1099
2012-12-26 10:53:16 -05:00
Blake Watters
4b2b7dbe4c
Add support for skipping relationship connections if all connection attributes evaluate to nil. Add support for establishing connections when some connection attributes evaluate to nil. fixes #1099 closes #1102
2012-12-25 23:53:01 -05:00
Blake Watters
285b75ea2a
Eliminate connection matchers in favor of source and destination predicates. closes #1105
2012-12-24 18:29:00 -05:00
Blake Watters
78e55c90a2
Merge branch 'feature/1105-connection-matchers' of github.com:cfis/RestKit into cfis-feature/1105-connection-matchers
2012-12-24 17:58:24 -05:00
Charlie Savage
a67bb48ece
Reimplement connection matchers and add test case.
2012-12-23 21:58:59 -07:00
Blake Watters
b78deb3eed
Use instancetype in constructors for increased subclassing friendliness
2012-12-22 14:54:49 -05:00
Blake Watters
0a28ecb507
Add optional support for connecting to subentities. fixes #1059
2012-12-19 18:32:32 -05:00
Blake Watters
5efcfe2c41
Eliminate remaining use of keyed subscript access
2012-12-10 17:12:53 -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
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
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
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
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
45c6e1611e
Add delegate for didFailToConnectRelationship:
2012-11-05 18:38:23 -05:00
Jeff Arena
2cf7d4651d
Add assertion requiring an instance of NSManagedObject in RKRelationshipConnectionOperation.
2012-10-29 12:45:26 -04:00
Jeff Arena
b3adc29535
Add support for connection mappings to the RKManagedObjectImporter.
2012-10-20 14:38:27 -04:00
Blake Watters
1ad2cabf2a
Add decent description method for relationship connection operations
2012-10-15 15:57:38 -04:00
Blake Watters
4c401de6bf
Convert RKConnectionMapping into a subclass of RKPropertyMapping. Add delegate callback for tracking the connection of relationships.
2012-09-29 17:54:51 -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
654364af61
Document RKDynamicMappingMatcher and clean up API
2012-09-21 22:59:43 -04: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
9c9126c6ce
Adds support for establishing Core Data Relationship connections using keyPath in addition to fetches across the object graph. refs #913
2012-08-31 17:48:07 -04:00
Blake Watters
ce6b0829e4
Convert RestKit to ARC
2012-08-28 17:34:58 -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
Blake Watters
cfa0df1841
Breakthrough on parent/child MOC setup
2012-07-13 14:11:48 -04:00
Blake Watters
f0706dbdbf
Work in progress
...
Conflicts:
Code/CoreData/RKManagedObjectLoader.h
Code/CoreData/RKManagedObjectLoader.m
Code/CoreData/RKManagedObjectMapping.m
Code/CoreData/RKManagedObjectMappingOperation.m
Code/CoreData/RKManagedObjectStore.m
Code/CoreData/RKManagedObjectThreadSafeInvocation.h
Code/CoreData/RKManagedObjectThreadSafeInvocation.m
Code/CoreData/RKSearchableManagedObject.m
Code/ObjectMapping/RKObjectLoader.m
Code/ObjectMapping/RKObjectMapper.h
Code/ObjectMapping/RKObjectMappingOperation.m
RestKit.xcodeproj/project.pbxproj
Tests/Logic/CoreData/RKManagedObjectThreadSafeInvocationTest.m
2012-07-13 13:07:42 -04:00