Commit Graph

595 Commits

Author SHA1 Message Date
Blake Watters
dad00a4f6f Fix typo 'current' => 'concurrent' 2011-11-04 11:28:54 -03:00
Blake Watters
cb694c3e77 Lowered logging level for NSNull collection from Warning to Debug. closes #422 2011-10-27 10:15:29 -03:00
Blake Watters
6ebe3c2431 Add missing comma in reachabilityFlagsDescription for OS X build 2011-10-24 23:35:50 -03:00
Blake Watters
a3d15d8e0d Add missing scheduleObserver call in initWithAddress: refs #408 2011-10-20 11:58:21 -04:00
Blake Watters
a863da18ec Revert "Use run loop instead of dispatch queue as unscheduling via NULL queue is triggering errors. refs #408"
This reverts commit fa6cff8221.
2011-10-20 11:55:00 -04:00
Blake Watters
fa6cff8221 Use run loop instead of dispatch queue as unscheduling via NULL queue is triggering errors. refs #408 2011-10-20 11:40:56 -04:00
Blake Watters
d75fd7d0b0 Refactored RKReachabilityObserver to work around issues with iOS 5 + host reachability and expand its capabilities. closes #408
* Added support for monitoring by IP address or hostname as well as local Wifi and Internet access generally
* Eliminated usage of synchronous calls to obtain reachability flags during status checks
* Reworked SystemConfiguration reachability callback to cache flags
* RKClient now monitors Internet access instead of hostname based reachability by default. baseURLReachabilityObserver eliminated in favor of reachabilityObserver. It is now a retain property that can be customized
* Queue suspension is now tied to the reachability observer rather than baseURL mutation
2011-10-19 08:51:37 -04:00
Blake Watters
eb9dec5953 Replaced TDOAuth with GCOAuth. fixes #407 2011-10-18 23:51:49 -04:00
Blake Watters
c45d3b2d33 Implemented example application building RestKit into a CLI utility for parsing files and evaluating keyPaths against the results. refs #409 2011-10-16 02:37:22 -04:00
Blake Watters
585d4aafc8 Implemented MIMETypeForPathExtension for NSURL and NSString. refs #409
Refactored duplicated code for returning the MIME Type based on file path extension using
Core Services UTI.
2011-10-16 02:06:58 -04:00
Blake Watters
0e08147d5b Updated RKAlert to build in cases where NSAlert and UIAlert are not available (i.e. CLI app). refs #409 2011-10-16 01:17:17 -04:00
Brad Phelan
d6e26a6f9d Implemented support for URL encoding an array of dictionaries. fixes #391
For example the following dict

	terms (
        {
        lhs = "blood_glucose_measurement";
        op = gt;
        rhs = 10;
    	}
	)

should generate the following URL encoded string

	type=or&terms[][lhs]=blood_glucose_measurement&terms[][op]=gt&terms[][rhs]=10
2011-10-14 08:52:25 -04:00
Blake Watters
23422c7f37 Expanded docs in RKObjectMappingProvider. Normalized some method signatures 2011-10-13 23:51:16 -04:00
Ivan Vučica
33b663a3cf Fixed building on OS X. 2011-10-13 15:43:47 +02:00
Blake Watters
f527918b2a Implemented support for removing mappings from RKObjectMappingProvider by keyPath. Improved documentation on the mapping provider class. 2011-10-13 08:57:18 -04:00
Blake Watters
c29046075f Merge pull request #399 from Felixyz/validationErrorLogging
Log much-needed info when context fails to save
2011-10-12 20:03:59 -07:00
Felix Holmgren
a235610ab4 Log much-needed info when context fails to save
* Makes it much easier to debug Core Data validation problems
  * Adapted from code by Chris Lozach
  * See: http://stackoverflow.com/questions/1283960/iphone-core-data-unresolved-error-while-saving
2011-10-12 21:04:57 +02:00
Blake Watters
214efd31d5 Fix issue with incorrectly built OAuth 1.0 invocation of TDOAuth. fixes #396
Began cleanup of some category methods to eliminate duplicated functionality across the library.
2011-10-12 09:55:38 -04:00
Blake Watters
4b1db7a6f1 Improve assertion failure message when no serialization mapping is available and a put/postObject is attempted 2011-10-11 21:40:26 -04:00
Blake Watters
d5987f0433 Workaround for crashes due to over-release of RKParams on iOS 5. fixes #392 2011-10-11 09:21:08 -04:00
Blake Watters
e1936103fd Check the type of destinationValue as well as sourceValue when determining the comparison selector to use. refs #343, refs #320
Hopefully this will fix the Core Data default attribute problem that I have been unable to recreate in unit tests.
2011-10-09 21:24:09 -04:00
Blake Watters
69e560d59c Fix for leaking object mapping queue references. fixes #390 2011-10-05 23:26:05 -04:00
Blake Watters
586034bae4 Add support for the use of nesting key attributes as the primaryKey in managed mappings.
This bug was causing duplication of objects in the store due to failed lookup of
existing objects. Added fix and test coverage for the use-case.
2011-10-05 10:50:52 -04:00
Blake Watters
a4d84aadf3 Use lastObject instead of objectAtIndex: to avoid exception during sanity check 2011-10-04 10:47:33 -04:00
Blake Watters
d94fcf665d Added sanity check that relationship mapping is not targeting a collection of collections. fixes #386
This can happen when using keyPaths to traverse an object graph and is hard to anticipate when
defining mappings. RestKit will now perform a sanity check before recursively performing
relationship object mapping operation and will log a warning if the relationship targets
a collection containing another collection. At the debug logging level, RestKit will log

The fix for such scenarios is to use KVC collection operators (such as @unionOfObjects,
@unionOfArrays, etc.) to flatten the collection out into a collection of dictionaries.
2011-10-01 11:52:51 -04:00
Blake Watters
2823d60ba7 Added new RKLog helpers for changing the log level during the execution of a block. Very helpful for debugging. closes #387 2011-10-01 11:10:24 -04:00
Blake Watters
da38149e44 Eliminated the use of @compatibility_alias to work around compiler issues reported on the mailing list 2011-09-29 10:10:35 -04:00
OpenThread
f894226908 Implemented full support for generation of cache keys on RKParams. fixes #272
* Builds on work started by @OpenFibers.
* Should eliminate all cache warnings.
* Added FileMD5Hash library for efficiently computing MD5 for files
* Extended RKParams to return composite MD5 for all attachments
* Implemented MD5 method on each RKParamsAttachment instance
* Updated RKRequest to utilize new MD5 sums and enabled cache keys for RKParams
2011-09-28 23:20:26 -04:00
Blake Watters
e86d9375bd Added test coverage and fixes for cases where the parser returns nil, but no error occurred. fixes #365 2011-09-28 09:43:35 -04:00
Sergej Tatarincev
3983bd00f8 Added download progress 2011-09-28 12:23:28 +03:00
Blake Watters
2d281e60d3 Investigated issues surrounding inability to change HTTP AUTH credentials thoroughly. fixes #250, #237, #127
These issues has been open for some time. I have added thorough unit test coverage
for scenarios of mutating the HTTP AUTH credentials on the RKClient and on individual
RKRequest instances. Everything seems to work fine.

Also added RKAuthenticationExample to RKCatalog for testing. Needs to be updated with
support for using OAuth.
2011-09-27 23:59:06 -04:00
Greg Combs
a6364ed5db Merge pull request #375 from beinstein/patch-1
This removes an unnecessary UIKit header from the new authentication client code.
2011-09-27 07:52:32 -07:00
Blake Watters
6011faeda5 Fix naked NSLog that should be a RKLogDebug. fixes #376 2011-09-27 08:39:29 -04:00
Ben Einstein
06537b8d18 This causes OS X builds to fail (and isn't necessary anyway) 2011-09-27 01:15:43 -03:00
Blake Watters
19738ff61f Update outdated comments in the XML parser header 2011-09-26 20:05:22 -04:00
Blake Watters
30b08ba85b Added default parser registration for text/xml MIME Type. fixes #370 2011-09-23 09:49:54 -04:00
Blake Watters
947cf378c7 Merge pull request #346 from ralfvdz/patch-1
Log the body when all data has been received.
2011-09-21 05:53:07 -07:00
Blake Watters
2f91e71c3a Merge pull request #356 from jobi/master
Allow specifying the bundle when seeding from a file
2011-09-21 05:52:24 -07:00
Blake Watters
0b5233916a Fixed bug where relationship connection was working off of source keyPath instead of destination (i.e. relationship name). fixes #357 2011-09-20 19:20:19 -04:00
Blake Watters
c493ec3cd5 Fix for missing rename on OAuth client 2011-09-20 19:04:43 -04:00
Johan Bilien
cee8f13c6c Add a way to specify the bundle from seeding from a file
[NSBundle mainBundle] doesn't work for logic tests, which don't have an
application bundle.
2011-09-20 16:01:14 -04:00
Blake Watters
eb887e38c6 Refactored OAuth support for merge into master. fixes #84, #211
Cleaned up @rodchile's excellent work integration OAuth 1.0 and 2.0 into RestKit. Changes
are as follows:

* Introduced new RKRequestAuthenticationType to replace the forceBasicAuthentication and other
    methods for influencing how authorization works.
* Moved TDOAuth code into Vendor/
* Renamed authorization code flow classes and delegate methods for clarity.
2011-09-20 15:52:17 -04:00
Blake Watters
144533cdd5 Renamed RKObjectDynamicMapping to RKDynamicObjectMapping to better mesh with Cocoa idioms. fixes #354
The old class name has been aliased for backwards compatibility.
2011-09-20 13:18:09 -04:00
Blake Watters
0c96aedc85 Fix use of reserved 'class' keyword that breaks import into Objective-C++. fixes #355
Added basic spec file that imports the public headers into an Objective-C++ source file.
2011-09-20 13:04:29 -04:00
Blake Watters
e535f3abf0 Removed unnecessary InflectionSupport 2011-09-20 12:36:39 -04:00
Blake Watters
70c73f2981 Fixed issue with order dependence in Core Data connections. fixes #173
Since OM 2.0 connection of relationships happened during the object mapping operation
instead of aggregately at the end of the process. In this commit, we have introduced a lightweight
queue for deferring portions of the mapping operation until a larger aggregate mapping has completed.

The changes are as follows:
* Introduced RKMappingOperationQueue for queueing portions of mapping. This is a synchronous queue modeled off
of NSOperationQueue that does NOT use threading (for Core Data friendliness).
* RKObjectMappingOperation now has a RKMappingOperationQueue queue property that defaults to nil
* RKObjectMappingOperation instances built via RKObjectMapper will has a mapping operation queue
assigned to the property.
* If a queue is present, RKManagedObjectMappingOperation will use it to defer the connection of relationships.
* At the end of an RKObjectMapper process, the mapping operation queue used by all mapping operations created
during the process will be executed. This allows all relationships to be connected after all object creation
has completed.

The queue is general purpose, though currently only used for the connection of relationships.
2011-09-20 12:02:50 -04:00
Blake Watters
91a6e9423e Added convenience methods and docs for mapping NSSet and NSArray attribute collections. fixes #285 2011-09-19 21:03:02 -04:00
Blake Watters
4b287a5b24 Added ability to overload the params on object loaders composed by the object manager. fixes #352 2011-09-19 19:54:58 -04:00
Greg Combs
e33d9e519a Unfortunately introduced an error while fixing #342 in commit a1b2201 in the RKObjectMappingProvider where retrieving mappings by class was broken, partially, yet passed unit tests. This fixes the bug and covers the gap in the tests. 2011-09-18 21:06:19 -05:00
Greg Combs
52e5a7b911 AppDirectory return value was incorrect for OSX Core Data. Fixes #350. Thanks @martijnthe 2011-09-18 12:00:23 -05:00