Commit Graph

263 Commits

Author SHA1 Message Date
Blake Watters
fbcef6abd5 First functional cut at new Core Data cacheing implementation. Tests clean, needs polishing. 2012-05-04 22:15:30 -04:00
Blake Watters
e4c33ab395 Introduced RKBenchmark class for measuring performance of RestKit operations. closes #710 2012-05-01 09:37:23 -04:00
Blake Watters
5a53fdbf1e Added test coverage for creation of duplicate objects. refs #661 2012-04-30 20:31:28 -04:00
Blake Watters
f0793b8e19 Enabled support and tests for creation of intermediate directories during RKCache initialization. closes #667 2012-04-17 23:23:41 -04:00
Marcus Brito
ea100b6aac Add a RKRequest attribute to control redirect handling
The default behavior is the same as before, to follow redirects. If RKRequest.followRedirect is set to NO, then a redirect (301, 302, 307) response will not be followed, and the request processing will proceed using the current request only.
2012-04-17 21:16:32 -04:00
Blake Watters
27c06946e2 Add basic test coverage for compilation of Objective-C++ sources. refs #649 2012-04-11 21:05:17 -04:00
Blake Watters
b282e3a813 Added support for grouping objects into sections within RKTableController. closes #658 2012-04-10 11:34:22 -04:00
Blake Watters
b9d72ce7fc Fixed invalid spelling RKManagedObjectCacheing -> RKManagedObjectCaching. Updated filenames to match. 2012-04-09 17:38:22 -04:00
Blake Watters
2723a11294 Reorganized categories under RKAdditions naming convention. Expanded documentation. 2012-04-04 09:08:55 -04:00
Blake Watters
9cffb75174 Add Objective-C Category fix to mapping provider core data extensions
and add source file to OS X build target.
2012-04-03 23:39:55 -04:00
Blake Watters
a545c3942b Integrated primaryKey extension to NSEntityDescription and refactored cache strategy
classes to eliminate issues with duplicated objects. closes #611, #612, #613, #618

* NSEntityDescription is now aware of the primaryKeyAttribute. Can be configured via
Interface Builder within Xcode or programatically.
* Added findByPrimaryKey: interface to the Core Data extensions.
* Relaxed dependencies on RKManagedObjectMapping across the system now that primaryKey is
available without a reference to the mapping.
2012-04-03 23:39:42 -04:00
Blake Watters
e40200b95b Added test that existing Core Data object instances are updated rather than duplicated when mapping an array. refs #612 2012-03-30 08:46:21 -04:00
Blake Watters
f4f3f44e17 Remove UDTableView. fixes #591 2012-03-29 20:04:12 -04:00
Brian Morton
93c09cf1a0 Manually apply fixes from peyton on #609 so that the test suite will properly work in directories with spaces. Closes #609. 2012-03-22 08:44:47 -07:00
Blake Watters
368f5bf11a Fix issue with incorrect quoting within the mapping cache causing duplicated objects. closes #598. refs #578 2012-03-20 21:11:29 -04:00
Blake Watters
a740a9ce3b Drop RestKitCoreData.momd from the resources bundle. It is not currently viable to load the entities because you cannot reference entities in one model from another within Xcode. 2012-03-15 17:28:53 -04:00
Blake Watters
6efa73fa25 Fixed issues with accessing RestKitResources.bundle from within unit tests 2012-03-15 16:44:01 -04:00
Jawwad Ahmad
b48e69a3ba Marking NSManagedObjectContext+RKAdditions.h as public. Refs #584. 2012-03-14 18:14:15 -04:00
Blake Watters
57183b364f Fix for warning emitted due to elimination of findOrCreateInstanceOfEntity:. Search Word functionality restored. closes #584
* Updates to the Core Data layer such that NSManagedObjectContexts now have a reference to the managed object store
they belong to.
* NSManagedObject instances can now return the managed object store they belong to.
* Relaxed the coupling to the sharedManager present within the RKSearchableManagedObject class.
* Expanded documentation of RKSearchableManagedObject
2012-03-14 17:08:02 -04:00
Blake Watters
e560578f9e Prepare project to build under Jenkins 2012-03-13 09:49:37 -04:00
Blake Watters
eeecff7bd0 Added support for loading resolution independent images ([UIImage imageWithContentsOfFile:] is broken) via UIImage
category and updated NSBundle additions to leverage the support.
2012-03-09 17:48:50 -05:00
Blake Watters
5ae94287e9 Added NSBundle helpers to Support.h. Introduced convenience method for retrieving reference to RestKitResources.bundle 2012-03-09 17:48:50 -05:00
Blake Watters
3526dac424 Initial implementation of RestKitResources.bundle 2012-03-09 17:48:50 -05:00
Greg Combs
28989c5440 Reworked pull-to-refresh to use gestures
Gesture recognizers clean up some of the view hierarchy related to pull-to-refresh.  This replaces EGOPullToRefresh
2012-03-09 17:48:38 -05:00
Blake Watters
2040283e9e Add RKManagedObjectMappingCache.h to Public/ headers and add RKObjectMappingProvider+CoreData.h to CoreData.h 2012-02-23 22:50:17 -05:00
Jeff Arena
32ab17fe0b Incorporate code review feedback 2012-02-23 22:39:27 -05:00
Jeff Arena
1cd22d5b33 First pass at replacing RKManagedObjectCache with a more flexible block approach that leverages the new resource path pattern matching approach to registering objectMappings. 2012-02-23 22:30:08 -05:00
Blake Watters
07a18a75b0 Added category introducing convenience methods for initializing table controller from the object manager 2012-02-23 20:47:58 -05:00
Blake Watters
9e50b8cd4f Introduce RestKit unit testing classes 2012-02-17 20:16:31 -05:00
Blake Watters
67b3ba9222 Rename Specs -> Tests in project 2012-02-17 12:04:02 -05:00
Blake Watters
946693cdf2 Migrate Private header files for RestKitFramework target to Public 2012-02-17 09:28:43 -05:00
Blake Watters
4d48ef4729 Fixed breakage in OS X support 2012-02-15 17:48:59 -05:00
Blake Watters
6c25c5c51c Set installation path for RestKit.framework to "@executable_path/../Frameworks". closes #543, #544 2012-02-15 13:32:49 -05:00
Blake Watters
c2e8932cfa Simplified to a single header search path 2012-02-13 14:32:47 -05:00
Blake Watters
b0957d5da6 Eliminated rsync of headers in favor of Three20 style header search paths.
Due to issues related to archive builds and flakiness with configurations other
than Debug and Release, it is impossible to use the automatic include/ build path
to avoid adding header search paths. Switching to requiring a fixed set is simpler
and eliminates the need for the rsync process.
2012-02-13 13:27:22 -05:00
Blake Watters
4142ffdb42 Reorganization and cleanups of Unit Tests
* Reorganized tests to accommodate split into Logic & Application.
* Eliminated 'Spec' naming in favor of 'Test' as the suite is entirely based on SenTest.
* Pulled majority of testing support classes up into the library and documented them.
* Introduced RKApplicationTests app for running the RKTableController UI tests
2012-02-10 17:32:23 -05:00
Blake Watters
8dbd2e8ef0 Cleanup missing files in project 2012-02-10 16:30:59 -05:00
Blake Watters
3d0f0ab39e Introduced the RKTableController component for iOS.
RKTableController provides a flexible, integrated system for driving iOS table views using
the RestKit object mapping engine. Local domain objects can be mapped into table cells within a
collection or presented for editing as part of a form. There are three flavors of table controllers
available:

* Static Tables: RKTableController can be used to render simple static tables that are composed of RKTableItems
presented in RKTableSections. Table items can quickly be built and added to a table without a backing model
or can have content object mapped into them for presentation.
* Network Tables: RKTableController can also render a table with the results of a network load. The typical use
case here is to have RestKit retrieve a JSON/XML payload from your remote system and then render the content into
a table.
* Core Data Tables: RKFetchedResultsTableController can efficiently drive a table view using objects pulled from a
Core Data managed object context. Typical use-cases here are for the presentation of large collections that are
pulled from a remote system, offering offline access, or speeding up a UI by using Core Data as a fast local cache.

RKTableController supports a number of bells and whistles including integrated searching/filtering and pull to refresh.
2012-02-10 16:30:54 -05:00
Blake Watters
e169cbca3d Migrated new files into Public/ headers for Framework target 2012-02-07 18:04:57 -05:00
Christopher Swasey
b3c5ba62d2 Replace the XMLParser with one based on Insert-Witty-Name/XMLReader 2012-01-24 12:01:47 -05:00
Jeff Arena
86c87cfc96 Add a broken unit test demonstrating the issue described in #481. 2012-01-21 12:51:04 -05:00
Jeff Arena
1c32bd4275 Add test to ensure RKManagedObjectMappings are properly returned from RKDynamicObjectMappings. Appears to refute the bug assertions made in #457. 2012-01-20 17:04:43 -05:00
Christopher Swasey
886ec75283 Import http://boredzo.org/iso8601parser/ and add it as a defaultDateFormatter for parsing ISO8601 strings. Fixes #438 2012-01-20 15:13:45 -05:00
Blake Watters
7c5ad95816 Updated all example projects to reflect changes. 2012-01-20 10:21:19 -05:00
Blake Watters
3a8221aa08 Added support for configuring and retrieving object mapping via resource path patterns. 2012-01-20 10:21:19 -05:00
Blake Watters
6abbb34ef0 Introduced mapping contexts support.
Extended RKObjectMappingProvider to store collections of object mappings for different use cases. The framework
now stores object mappings, serialization mappings, an error mapping and a pagination mapping using the context
support. Contexts can be added to the provider via method calls or extension via a category.
2012-01-20 10:21:19 -05:00
Blake Watters
412b0f9756 Work in progress on cleanup 2012-01-20 10:21:18 -05:00
Ray Fix
b56d7ff661 Make RKObjectPaginator.h public
Without this change I was having trouble using it
in my super project.
2012-01-20 10:21:18 -05:00
Blake Watters
254553dc7c Initial implementation of RKObjectPaginator 2012-01-20 10:21:18 -05:00
Blake Watters
8363d35e30 Remove 'file' from Specs/Uploads group. This is a test asset that should not be part of the project. 2012-01-09 21:33:13 -05:00