Commit Graph

341 Commits

Author SHA1 Message Date
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
aecc1db352 Add support, tests, and documentation for the deletion of External Storage directory when an instance of RKManagedObjectStore is reset. closes #677 2012-12-25 14:50:13 -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
fccfd7724f Add truncation example code to the resetPersistentStores block 2012-12-20 18:59:14 -05:00
Blake Watters
408072f733 Add support and tests for inferring entity identifiers from superentity user info. closes #954 2012-12-19 22:21:09 -05:00
Blake Watters
0a28ecb507 Add optional support for connecting to subentities. fixes #1059 2012-12-19 18:32:32 -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
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
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
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
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
ddbd1e1f95 Fix inappropriate managed object context reference in [RKEntityByAttributeCache addObject:] 2012-12-02 00:23:49 -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
95b9a0ecba Synchronize access to the attribute to ID's dictionary and immediately copy it to avoid crashes under heavily threaded access to the cache 2012-11-13 19:15:11 -05:00
Blake Watters
91c61640fa Remove invalid references to RKParser 2012-11-13 12:32:49 -05:00
Blake Watters
6837d0d1b9 Add support for hooking into the RKSearchIndexer via a delegate
* Supports replacing the RKSearchWord fetch strategy to enable caching for performance
* Supports declining creation of search words
* Supports declining of indexing for specific objects
* Supports notification when objects are indexed and search words are added to the index
2012-11-12 16:18:36 -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
f2ff70177c Merge branch 'development' of github.com:CFKevinRef/RestKit into CFKevinRef-development 2012-11-07 21:59:38 -05:00
Blake Watters
153c230751 Suppress logging of referential integrity errors if the objectID is temporary as it likely indicates the object is not accessible from the requested context 2012-11-06 15:19:13 -05:00
Blake Watters
e7505df56c Fix retain cycles detected by Xcode 4.6 static analyzer 2012-11-05 18:38:23 -05:00
Blake Watters
d71a6a3482 Add LICENSE boilerplate 2012-11-05 18:38:23 -05:00
Blake Watters
45c6e1611e Add delegate for didFailToConnectRelationship: 2012-11-05 18:38:23 -05:00
Kevin Cassidy
f049f5f998 Take KVC scalar/structure support and NSAttributeType into account when inspecting properties. 2012-11-05 11:55:12 -05:00
Blake Watters
aec4f66c5c Expand documentation regarding potential for deadlock scenarios. refs #1018 2012-11-01 10:02:54 -04:00
Jeff Arena
2cf7d4651d Add assertion requiring an instance of NSManagedObject in RKRelationshipConnectionOperation. 2012-10-29 12:45:26 -04:00
Blake Watters
7fba450311 Fix crash under iOS 5.0.x due to attempt to use unavailable NSURLIsExcludedFromBackupKey symbol. fixes #1015 2012-10-29 10:47:13 -04:00
Blake Watters
7af8d0ac8b Change isEqual: checks for entity to isKindOfEntity: fixes #816 2012-10-29 01:28:17 -04:00
Blake Watters
6d487dbc9e Add support for excluding the SQLite store file from iCloud Backups to conform with the iOS Data Storage Guidelines. closes #929 2012-10-29 01:22:50 -04:00
Blake Watters
c44f4010fa Add support for specifying a configuration and customizing the options when adding a SQLite persistent store to the managed object store. closes #984 2012-10-29 00:32:56 -04:00