Commit Graph

310 Commits

Author SHA1 Message Date
Blake Watters
014a4dbdff Merge branch 'release/0.10.1' into development 2012-05-25 23:33:54 -04:00
Blake Watters
9ca2ba2a3f Clean up inconsistencies with 'cancelled' and 'cancel' to match Cocoa (isCancelled) 2012-05-21 18:11:15 -04:00
Blake Watters
5cecb58c23 Add RKLog helper for displaying detailed key-value validation failure information. closes #750 2012-05-21 13:09:23 -04:00
Blake Watters
a4bdc03961 Add RKLog helper for displaying detailed key-value validation failure information. closes #750 2012-05-21 13:04:49 -04:00
Blake Watters
31191f59b6 Migrate initialization of default error mapping from RKObjectManager to RKObjectMappingProvider 2012-05-21 12:09:27 -04:00
Blake Watters
ada95e0281 Migrate RKResponse property from RKObjectLoader to RKRequest. refs #527 2012-05-18 20:05:25 -04:00
Blake Watters
489bb0423a Fix static analyzer issues 2012-05-18 20:01:56 -04:00
Blake Watters
016f13dad0 Convert all tabs to four spaces. refs #743 2012-05-17 18:10:59 -04:00
Blake Watters
fcb973056b Cleanup trailing whitespace. refs #743 2012-05-17 18:00:16 -04:00
Blake Watters
938304d542 Fixes to ensure failed requests are not resent. refs #628, fixes #744, closes #720
Additional changes and test coverage to handle the case of loading an invalid URL
or otherwise immediately encountering an error condition:

* Restores use of removeLoadingRequest: within the queue
* Updates fragile tests to ensure better coverage for error cases
* Sets isLoaded to YES during error callbacks to prevent duplicated dispatching
2012-05-16 23:50:43 -04:00
Boris Dušek
e932c31cde Update RKObjectManager to observe changes to the reachability observer of
the underlying RKClient object. refs #717
2012-05-16 15:10:18 -04:00
Blake Watters
6bbc00296d Add delegate methods to RKObjectMappingOperationDelegate for tracking mappable content that is not
set due to an unchanged value. Update RKMapperTest to correctly validate mappings that do not result
in a value change (typically nil => nil). closes #72, fixes #634
2012-05-09 19:12:09 -04:00
Aaron Crespo
22225cf8a0 Fixed Static analysis warnings. 2012-04-11 22:44:58 -04:00
Blake Watters
457a6126cf Refresh copyright notices for all source files 2012-04-04 09:08:54 -04:00
Blake Watters
e79b79ebac Change behavior of delegate callbacks during 204 (No Content) response. refs #633 2012-04-03 23:39:43 -04:00
Blake Watters
887b4a4743 Added support for configuring objectClass using the class name instead of Class object. 2012-04-03 23:39:43 -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
73fe4f1237 Added support for object mapping a single object instance onto an NSOrderedSet collection. fixes #616 2012-03-30 09:29:41 -04:00
Bob Spryn
8fc0d9e46c Added test and fix for empty date @"" being set to a very strange date by the ISO date formatter". refs #622 2012-03-29 20:12:50 -04:00
Brian Morton
b4cdf80cf2 Set RKObjectPaginator's objectLoader according to if an objectStore has been configured. 2012-03-20 19:40:31 -07:00
Blake Watters
bc82f5a1ac Integrated support and test coverage for mapping relationships onto NSOrderedSet values. closes #578 2012-03-20 22:14:31 -04:00
Blake Watters
b0ab880868 Fixed bug raising exception when loaderForObject: is invoked with a method of RKRequestMethodInvalid. fixes #601 2012-03-19 16:03:25 -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
Brian Morton
80103bb6b3 Change test for allowing newly added date formatters priority so that it uses the updated fixture and reversable favoriteDate. Rearrange order of defaultDateFormatters to match their order before changing defaultDateFormatters to being prepended. 2012-03-13 09:43:37 -07:00
Brian Morton
10e3c17483 Merge pull request #577 from spenrose/date-formatter
Added default date formatter to start of NSArray
2012-03-13 09:24:20 -07:00
Blake Watters
5ffeee38d4 Ensure serializationMIMEType is configured when initializing object loaders via loaderWithURL: or loaderWithResourcePath: fixes #567 2012-03-12 20:34:31 -04:00
Blake Watters
896de8f1eb Respect modified values set for properties within key-value validation callbacks. fixes #565 2012-03-12 20:22:11 -04:00
Charlie Savage
08e65ac108 Remove references to NSOrderedSet to maintain iOS 4.x compatability. 2012-03-11 14:48:56 -06:00
Scott Penrose
5b8f1c34d6 Always add default date formatters to start of array to be tried first. RKISO8601DateFormatter will match a lot of different dates and most likely your default date formatter was not getting hit since it was last in the list. 2012-03-01 22:51:13 -05:00
Blake Watters
6db4a0a170 Fix broken XML mapping in RKTwitter example. fixes #400 2012-02-25 14:16:09 -05:00
Robert Altman
99a108096f Added support for parser class specification by regular expression. closes #489 2012-02-25 13:27:41 -05:00
Blake Watters
6723502372 Merge branch 'hotfix/545-conditional-nsorderedset' into development 2012-02-25 12:03:48 -05:00
Blake Watters
e66f65bb5e Use runtime checks for NSOrderedSet class to enable building against iOS 4.x and OS X 10.6. fixes #568, #545 2012-02-25 11:44:13 -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
c2e1cb0e4f Inform the delegate of object mapping events when relationships are set 2012-02-23 20:50:43 -05:00
Blake Watters
e904394b6b Miscellaneous cleanups 2012-02-17 16:34:03 -05:00
Blake Watters
d456c37a20 Minor documentation cleanup for paginator 2012-02-16 10:48:24 -05:00
Blake Watters
4d48ef4729 Fixed breakage in OS X support 2012-02-15 17:48:59 -05:00
Blake Watters
948cc85873 Added new pre-flight delegate callbacks for customization of RKRequest and RKObjectLoader instances before dispatch 2012-02-15 12:06:24 -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
d4e3c0d559 Remove Appledoc significant asterisk in non-documenting comment 2012-02-02 09:21:00 -05:00
Brian Morton
f92fbb9f8e Fix issue that caused appledoc to fall over while building documentation.
There's currently a known issue for appledoc (https://github.com/tomaz/appledoc/issues/147) that causes it to fall over when it encounters a method declaration in an implementation that is missing a type (even if its in the header file).  While this is valid Objective-C, lets update this to allow appledoc to go on its merry little way.

* Fix 1 declaration relating to atKeyPath: in RKObjectMapper.m
* Fix 2 declarations relating to atKeyPath: in RKObjectMapper_Private.h
* Fix 1 declaration relating to atKeyPath: in RKObjectMappingOperation.m

All declarations were changed to declare keyPath as an (NSString *).
2012-01-28 13:40:38 -08:00
Christopher Swasey
b3c5ba62d2 Replace the XMLParser with one based on Insert-Witty-Name/XMLReader 2012-01-24 12:01:47 -05:00
Blake Watters
9e0149fc0f Deprecate RKMakePathWithObjectAddingEscapes and cleanup usage within the Router 2012-01-24 09:51:05 -05:00
Jeff Arena
5b9445cef0 Slight refactor of RKObjectPropertyInspector to expose a previously private, instance method as a public, class method, for use in processing transformable attributes in the associated CoreData category. Fixes #498. 2012-01-23 18:10:06 -05:00
Jeff Arena
aac9abc0ad Audit uses of setValue:forKey: in mapping operations and replace with setValue:forKeyPath: where appropriate. Fixes #421. 2012-01-21 13:11:35 -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
Jeff Arena
700456c8eb Add support for serializing NSOrderedSet. Fixes #514. 2012-01-20 14:27:19 -05:00
Christopher Swasey
b1f4e1ffe5 RKObjectMappingOperation#parseDateFromString now transforms string representations of integers into dates as if they were unix timestamps 2012-01-20 12:59:16 -05:00
Jeff Arena
db0646ed19 Change NSNumber -> NSDate transformation to use doubleValue instead of intValue to ensure we do not lose precision on date conversion. Fixes #455. 2012-01-20 11:57:47 -05:00