Commit Graph

137 Commits

Author SHA1 Message Date
Daniel Hammond
e9e4c83630 Merge branch 'restkit-sprint' of github.com:twotoasters/RestKit into restkit-sprint 2011-06-16 21:17:31 -04:00
Daniel Hammond
d9fc311433 Remove objects persisted to Core Dataduring postObject: when there is an error (Fix Issue #125) 2011-06-16 21:17:14 -04:00
Jeremy Ellison
ae68829ec4 transform booleans to strings 2011-06-16 19:30:10 -04:00
Blake Watters
323d5e30b1 Add support for mapping from NSNumber to NSDate by coercing to a time interval since 1970. fixes #141 2011-06-16 17:33:21 -04:00
Blake Watters
1137aff165 Tweaks to comments 2011-06-16 17:15:07 -04:00
Blake Watters
a75ace87d0 Deprecated RKObjectManager methods that use queryParams. Added NSString category for achieving the same results without bloating the API 2011-06-16 17:04:34 -04:00
Blake Watters
d84088277e Expand commentary around registerMapping 2011-06-15 11:14:57 -04:00
Blake Watters
5f7b8559cd Only build a serialization if we are a POST or a PUT 2011-06-15 10:29:11 -04:00
Blake Watters
420d20384f Add support for mapping yes and no to NSNumber boolean values 2011-06-15 09:59:45 -04:00
Blake Watters
8e5fa664e8 Cleaned up miscellaneous artifacts from squashing object mapping 2.0 2011-06-11 20:34:10 -04:00
Blake Watters
27ea307816 Fix crash in RKCatalog. Suppress warning about symbol visibility during linking. 2011-06-11 20:27:33 -04:00
Ed McManus
ecf808af1a Added boolean "reversible" property to RKObjectRelationshipMapping. This can be used to break cyclical
relationships in the object mapping graph. Relationships can be optionally included in an inverse mapping
generation for serialization purposes.
2011-06-11 20:25:28 -04:00
Blake Watters
9299cabc11 Implemented flexible logging solution utilizing the excellent LibComponentLogging library. 2011-06-11 20:25:28 -04:00
Blake Watters
7bf3e0f273 Added support for mapping boolean strings to NSNumber with values t or f in addition to true and false. refs #130 2011-06-11 19:31:21 -04:00
Blake Watters
f2ceefa012 Merge Request Queue (See issue #75):
* Introduces RKRequestCache for cacheing responses (supports ETag conditional GET, use cache if available, use cache on error, etc.) closes #75
    * Updates to Three20 layer to eliminate need for intermediary TTTableItem classes closes #76
    * Fixes to ensure iOS 3.x compatability:
        * Switched compiler to Clang
        * Updated conditional checks for UIBackgroundTask symbols to ensure runtime safety on iOS 3.x
        * Removed unnecessary linkage against UIKit and CoreFoundation from library targets
    * Fix for issue where RKRequest objects could become stuck in infinite loop within RKRequestQueue loadNextInQueue if you start
      a request and then cancel immediately. On cancel only decrement loadCount if the request has start loading. refs #122
2011-06-11 19:28:44 -04:00
Blake Watters
f3c0995d5e Implementation of Object Mapping 2.0 design:
* Removed RestKit from inheritance hierarchy
  * Mappings are implemented as concrete classes
  * Mapper is much more flexible & powerful
  * Much more robust error handling
  * Serialization is reimplemented as an object mapping operation
  * Added ability to serialize to JSON natively
  * Reworked Core Data integration
  * Simplified the codebase substantially
2011-06-11 19:26:56 -04:00
Pat Shields
eecf87e71a Don't leak object passed in to loader. 2011-05-27 12:46:36 -04:00
Blake Watters
4889ff9b5f Removed use of Objective-C block in new serialization code from Andras 2011-05-04 09:59:47 -04:00
Andras Hatvani
d6d92fc6d4 * Implemented relation mapping in RKDynamicRouter
* Added specs covering the functionality
2011-05-04 12:27:50 +02:00
Blake Watters
4321da03b1 Expanded specs and began migrating all the content for testing out in the Fixtures directory. Fixtures is now the root for the Sinatra app and there are new helpers in RKSpecEnvironment.m. Added specs for several users use cases from the mailing list. Introduced a new warning when attempting to map did not set any properties. 2011-05-02 20:57:18 -04:00
Blake Watters
87d0cd13de Added support for registering object class mappings as keyPaths in addition to element names. closes #82 2011-04-28 13:09:50 -04:00
Blake Watters
308b6c5dd2 Updates to RKObjectLoader to fix issues where keyPath was not always respected and willSendForObjectLoader: not invoked as expected. Expanded spec coverage to fix these issues. fixes #80, fixes #81 2011-04-28 00:05:55 -04:00
Blake Watters
a1aa5fce94 Merged pull request #63 from andr8w/target-object-keypath.
Minor changes to use keyPath and willSendWithObjectLoader when a targetObject is set.
2011-04-27 20:02:29 -07:00
Blake Watters
ff2367d284 Moved query path appending to RKPathAppendQueryParams for convenience. Deprecated RKClient flavor. 2011-04-27 09:05:18 -04:00
Blake Watters
c35d0bab1d Implemented substantial catalog example application covering advanced usage of RestKit:
* Cleaned up remaining warnings about if (self = [super init])
* RKParamsExample - Highlights multi-part uploads
* RKRequestQueueExample - Working with the request queue
* RKBackgroundRequestExample - Examples of using the background policies for backgrounding requests
* RKReachabilityExample - Shows how to work with the reachability observer
* RKRelationshipMappingExample - Shows how to map related objects from JSON into an object graph
* RKCoreDataExample - Shows the basics of using RestKit's Core Data examples

Also rearranged dispatch of RKRequest delegate method for didStartLoad: to ensure requeue callbacks get invoked in a timely manner. refs #62
2011-04-22 11:28:56 -04:00
Andrew Newdel
e277e636f8 Add a modified handleTargetObject implementation from RKManagedObjectLoader to give RKObject a chance to respond to willSendWithObjectLoader. 2011-04-21 19:32:29 -04:00
Andrew Newdel
bbce5abfd4 Use the keyPath property to map a subset of the response for a single target object. 2011-04-21 19:24:41 -04:00
Blake Watters
acf7352b40 Added support for mapping an array of objects when given a target object class and element registration is being used as well. fixes #60 2011-04-20 16:17:00 -04:00
Blake Watters
f55073ecce Merge branch 'master' of https://github.com/Vossy/RestKit into 59-url-mapping-support 2011-04-20 08:29:00 -04:00
Justin Voss
952096b289 Added support for mapping NSURL properties. Fixes #52 2011-04-19 19:14:52 -05:00
Robert McNally
b7df8e1f0a Eliminate use of 'class' in method signatures. It is a reserved word in Objective-C++. Replaced with 'objectClass'. fixes #58 2011-04-19 14:22:04 -04:00
Chad Podoski
f44abbee27 Generalize RKRequestQueue and add NSDecimalNumber type support to RKObjectMapper. refs #50 2011-04-18 17:21:01 -04:00
Blake Watters
9af6a59c79 Initial implementation of documentation generation using the Appledoc parser. refs #48
* Cleaned up various mismatches in method signatures that were preventing documentation generation
* Removed naked ampersands from comments as they cause XML parser failures during docset generation via appledoc
2011-04-14 22:55:58 -04:00
Blake Watters
9593612aab Closes gh-47. Initial implementation of OS X build integrating changes submitted by Felix Holmgren (https://github.com/Felixyz/RestKit).
* Factored out display of alerts into RKAlert interface that hides the differences between UIKit and OS X Cocoa.
* Added macosx to supported platforms to enable build on OS X.
* Configured project to use conditional architectures to enable building on OS X and iOS from the same targets.
* Implemented a bare-bones OS X example app.
* Create `rake build` task for building RestKit against iOS and OS X SDK for quick testing.
2011-04-12 21:02:25 -04:00
Blake Watters
9dcd7f3022 Removed superclass call to didFinishLoad: in RKObjectLoader. Was resulting in duplicated dispatch of life-cycle requests. Fixes #44 2011-04-12 19:11:31 -04:00
Peter Marks
35171084d1 [Story #11961455] Implements support for sending nested objects back to the remote server for processing:
* Introduce RKObjectMappable#relationshipsToSerialize to define nested relationships to post
* New helper methods for working with relationship serializations.
* Extended Rails router to serialize nested objects according to Rails idioms
2011-04-05 22:18:10 -04:00
Blake Watters
a648d26460 [#11477593] Implemented background request policies and Specs. This provides functionality for continuing a request in the background using an iOS background task.
Introduces four modes for handling background requests:
* RKRequestBackgroundPolicyNone - The default behavior replicating pre-background behavior. No special action is taken with regards to backgrounding.
* RKRequestBackgroundPolicyCancel - On transition to the background, requests with this policy set will be cancelled automatically and the delegate informed.
* RKRequestBackgroundPolicyContinue - Requests with this policy will be continued in the background after the app has been transitioned.
* RKRequestBackgroundPolicyRequeue - Requests with this policy will be cancelled and then immediately placed onto the queue for processing the next time the app is returned to the foreground.
2011-04-05 13:06:06 -04:00
Blake Watters
15a3c9ae8e added support for set nil/ignore missing relationships and specs 2011-04-04 19:43:21 -04:00
Blake Watters
9ed062121e Fix for crash based on set nil for missing element policy. Added specs covering the crash. Merging directly to 0.9.1 and tagging as 0.9.1.1 2011-03-29 10:47:11 -04:00
Blake Watters
1d50d07f25 Merge branch 'master' into 0.9 2011-03-28 23:33:53 -04:00
Blake Watters
c90ec2770d Finished cleanup of HTTP AUTH and XML Support. Ready to tag 0.9.1 2011-03-28 23:29:06 -04:00
Blake Watters
69c051a57a Aligned target name with JSON parsers 2011-03-27 23:05:24 -04:00
Blake Watters
a298bc4dcf Fix build problems 2011-03-27 22:53:08 -04:00
Blake Watters
227f35a20d Merge branch '0.9' into xml-parser
Conflicts:
	Examples/RKTwitter/Classes/RKTwitterViewController.m
	README.md
	RestKit.xcodeproj/project.pbxproj
2011-03-27 22:29:19 -04:00
Blake Watters
4c717e2a5b Merge branch '0.9' into unit-testing
Conflicts:
	RestKit.xcodeproj/project.pbxproj
2011-03-24 15:00:13 -04:00
Jeremy Ellison
6a4b3d78b3 Merge branch 'unit-testing' into xml-parser
Conflicts:
	RestKit.xcodeproj/project.pbxproj
2011-03-23 10:34:02 -04:00
Blake Watters
2109fae1ba Finished cleaning up Core Data support. Happy with the new organization 2011-03-19 22:06:51 -04:00
Blake Watters
88a1b013fc Merge remote branch 'origin/0.9' into core-data-cleanup
Conflicts:
	Code/CoreData/CoreData.h
	Code/CoreData/RKManagedObjectStore.h
	Code/CoreData/RKManagedObjectStore.m
	Code/CoreData/RKObjectSeeder.h
	Code/CoreData/RKObjectSeeder.m
	Code/ObjectMapping/RKObjectLoader.m
	Code/ObjectMapping/RKObjectManager.m
	Code/ObjectMapping/RKObjectMapper.m
	RestKit.xcodeproj/project.pbxproj
2011-03-19 21:26:13 -04:00
Blake Watters
a94456a01e Committing changes to sync against 0.9 2011-03-19 20:59:54 -04:00
Blake Watters
4da3290d50 added JSON and object to NSException when mapping fails because of bad input 2011-03-17 22:20:04 -04:00