Commit Graph

347 Commits

Author SHA1 Message Date
Blake Watters
28887d3384 Add support for deletion of mapped objects by predicate. closes #1109 2013-01-01 15:27:01 -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
92458a1e88 Enable support for mapping a relationship flexibly via assignment policies. You can now map a relationship and assign its value by setting, replacing, or unioning (combining) the relationship. closes #1073, closes #989 2012-12-26 17:56:39 -05:00
Blake Watters
b858f2753f Grow up support for mapping to primitives by avoiding crashes due to null conversions. fixes #1043, fixes #741, fixes #703 2012-12-26 14:40:59 -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
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