├── .gitignore
├── .travis.yml
├── AFNetworking3-RACExtensions.podspec
├── AFNetworking3-RACExtensions
├── Assets
│ └── .gitkeep
└── Classes
│ ├── .gitkeep
│ ├── AFHTTPSessionManager+RACSupport.h
│ └── AFHTTPSessionManager+RACSupport.m
├── Example
├── AFNetworking3-RACExtensions.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── AFNetworking3-RACExtensions-Example.xcscheme
├── AFNetworking3-RACExtensions.xcworkspace
│ └── contents.xcworkspacedata
├── AFNetworking3-RACExtensions
│ ├── AFNetworking3-RACExtensions-Info.plist
│ ├── AFNetworking3-RACExtensions-Prefix.pch
│ ├── Images.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── LaunchImage.launchimage
│ │ │ └── Contents.json
│ ├── MIEAppDelegate.h
│ ├── MIEAppDelegate.m
│ ├── MIEViewController.h
│ ├── MIEViewController.m
│ ├── Main.storyboard
│ ├── en.lproj
│ │ └── InfoPlist.strings
│ └── main.m
├── Podfile
├── Podfile.lock
├── Pods
│ ├── AFNetworking
│ │ ├── AFNetworking
│ │ │ ├── AFHTTPSessionManager.h
│ │ │ ├── AFHTTPSessionManager.m
│ │ │ ├── AFNetworkReachabilityManager.h
│ │ │ ├── AFNetworkReachabilityManager.m
│ │ │ ├── AFSecurityPolicy.h
│ │ │ ├── AFSecurityPolicy.m
│ │ │ ├── AFURLRequestSerialization.h
│ │ │ ├── AFURLRequestSerialization.m
│ │ │ ├── AFURLResponseSerialization.h
│ │ │ ├── AFURLResponseSerialization.m
│ │ │ ├── AFURLSessionManager.h
│ │ │ └── AFURLSessionManager.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── Expecta
│ │ ├── Expecta
│ │ │ ├── EXPBlockDefinedMatcher.h
│ │ │ ├── EXPBlockDefinedMatcher.m
│ │ │ ├── EXPDefines.h
│ │ │ ├── EXPDoubleTuple.h
│ │ │ ├── EXPDoubleTuple.m
│ │ │ ├── EXPExpect.h
│ │ │ ├── EXPExpect.m
│ │ │ ├── EXPFloatTuple.h
│ │ │ ├── EXPFloatTuple.m
│ │ │ ├── EXPMatcher.h
│ │ │ ├── EXPUnsupportedObject.h
│ │ │ ├── EXPUnsupportedObject.m
│ │ │ ├── Expecta.h
│ │ │ ├── ExpectaObject.h
│ │ │ ├── ExpectaObject.m
│ │ │ ├── ExpectaSupport.h
│ │ │ ├── ExpectaSupport.m
│ │ │ ├── Matchers
│ │ │ │ ├── EXPMatcherHelpers.h
│ │ │ │ ├── EXPMatcherHelpers.m
│ │ │ │ ├── EXPMatchers+beCloseTo.h
│ │ │ │ ├── EXPMatchers+beCloseTo.m
│ │ │ │ ├── EXPMatchers+beFalsy.h
│ │ │ │ ├── EXPMatchers+beFalsy.m
│ │ │ │ ├── EXPMatchers+beGreaterThan.h
│ │ │ │ ├── EXPMatchers+beGreaterThan.m
│ │ │ │ ├── EXPMatchers+beGreaterThanOrEqualTo.h
│ │ │ │ ├── EXPMatchers+beGreaterThanOrEqualTo.m
│ │ │ │ ├── EXPMatchers+beIdenticalTo.h
│ │ │ │ ├── EXPMatchers+beIdenticalTo.m
│ │ │ │ ├── EXPMatchers+beInTheRangeOf.h
│ │ │ │ ├── EXPMatchers+beInTheRangeOf.m
│ │ │ │ ├── EXPMatchers+beInstanceOf.h
│ │ │ │ ├── EXPMatchers+beInstanceOf.m
│ │ │ │ ├── EXPMatchers+beKindOf.h
│ │ │ │ ├── EXPMatchers+beKindOf.m
│ │ │ │ ├── EXPMatchers+beLessThan.h
│ │ │ │ ├── EXPMatchers+beLessThan.m
│ │ │ │ ├── EXPMatchers+beLessThanOrEqualTo.h
│ │ │ │ ├── EXPMatchers+beLessThanOrEqualTo.m
│ │ │ │ ├── EXPMatchers+beNil.h
│ │ │ │ ├── EXPMatchers+beNil.m
│ │ │ │ ├── EXPMatchers+beSubclassOf.h
│ │ │ │ ├── EXPMatchers+beSubclassOf.m
│ │ │ │ ├── EXPMatchers+beSupersetOf.h
│ │ │ │ ├── EXPMatchers+beSupersetOf.m
│ │ │ │ ├── EXPMatchers+beTruthy.h
│ │ │ │ ├── EXPMatchers+beTruthy.m
│ │ │ │ ├── EXPMatchers+beginWith.h
│ │ │ │ ├── EXPMatchers+beginWith.m
│ │ │ │ ├── EXPMatchers+conformTo.h
│ │ │ │ ├── EXPMatchers+conformTo.m
│ │ │ │ ├── EXPMatchers+contain.h
│ │ │ │ ├── EXPMatchers+contain.m
│ │ │ │ ├── EXPMatchers+endWith.h
│ │ │ │ ├── EXPMatchers+endWith.m
│ │ │ │ ├── EXPMatchers+equal.h
│ │ │ │ ├── EXPMatchers+equal.m
│ │ │ │ ├── EXPMatchers+haveCountOf.h
│ │ │ │ ├── EXPMatchers+haveCountOf.m
│ │ │ │ ├── EXPMatchers+match.h
│ │ │ │ ├── EXPMatchers+match.m
│ │ │ │ ├── EXPMatchers+postNotification.h
│ │ │ │ ├── EXPMatchers+postNotification.m
│ │ │ │ ├── EXPMatchers+raise.h
│ │ │ │ ├── EXPMatchers+raise.m
│ │ │ │ ├── EXPMatchers+raiseWithReason.h
│ │ │ │ ├── EXPMatchers+raiseWithReason.m
│ │ │ │ ├── EXPMatchers+respondTo.h
│ │ │ │ ├── EXPMatchers+respondTo.m
│ │ │ │ └── EXPMatchers.h
│ │ │ ├── NSObject+Expecta.h
│ │ │ ├── NSValue+Expecta.h
│ │ │ └── NSValue+Expecta.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── Local Podspecs
│ │ └── AFNetworking3-RACExtensions.podspec.json
│ ├── Manifest.lock
│ ├── Pods.xcodeproj
│ │ └── project.pbxproj
│ ├── ReactiveCocoa
│ │ ├── LICENSE.md
│ │ ├── README.md
│ │ └── ReactiveCocoa
│ │ │ ├── MKAnnotationView+RACSignalSupport.h
│ │ │ ├── MKAnnotationView+RACSignalSupport.m
│ │ │ ├── NSArray+RACSequenceAdditions.h
│ │ │ ├── NSArray+RACSequenceAdditions.m
│ │ │ ├── NSData+RACSupport.h
│ │ │ ├── NSData+RACSupport.m
│ │ │ ├── NSDictionary+RACSequenceAdditions.h
│ │ │ ├── NSDictionary+RACSequenceAdditions.m
│ │ │ ├── NSEnumerator+RACSequenceAdditions.h
│ │ │ ├── NSEnumerator+RACSequenceAdditions.m
│ │ │ ├── NSFileHandle+RACSupport.h
│ │ │ ├── NSFileHandle+RACSupport.m
│ │ │ ├── NSIndexSet+RACSequenceAdditions.h
│ │ │ ├── NSIndexSet+RACSequenceAdditions.m
│ │ │ ├── NSInvocation+RACTypeParsing.h
│ │ │ ├── NSInvocation+RACTypeParsing.m
│ │ │ ├── NSNotificationCenter+RACSupport.h
│ │ │ ├── NSNotificationCenter+RACSupport.m
│ │ │ ├── NSObject+RACDeallocating.h
│ │ │ ├── NSObject+RACDeallocating.m
│ │ │ ├── NSObject+RACDescription.h
│ │ │ ├── NSObject+RACDescription.m
│ │ │ ├── NSObject+RACKVOWrapper.h
│ │ │ ├── NSObject+RACKVOWrapper.m
│ │ │ ├── NSObject+RACLifting.h
│ │ │ ├── NSObject+RACLifting.m
│ │ │ ├── NSObject+RACPropertySubscribing.h
│ │ │ ├── NSObject+RACPropertySubscribing.m
│ │ │ ├── NSObject+RACSelectorSignal.h
│ │ │ ├── NSObject+RACSelectorSignal.m
│ │ │ ├── NSOrderedSet+RACSequenceAdditions.h
│ │ │ ├── NSOrderedSet+RACSequenceAdditions.m
│ │ │ ├── NSSet+RACSequenceAdditions.h
│ │ │ ├── NSSet+RACSequenceAdditions.m
│ │ │ ├── NSString+RACKeyPathUtilities.h
│ │ │ ├── NSString+RACKeyPathUtilities.m
│ │ │ ├── NSString+RACSequenceAdditions.h
│ │ │ ├── NSString+RACSequenceAdditions.m
│ │ │ ├── NSString+RACSupport.h
│ │ │ ├── NSString+RACSupport.m
│ │ │ ├── NSURLConnection+RACSupport.h
│ │ │ ├── NSURLConnection+RACSupport.m
│ │ │ ├── NSUserDefaults+RACSupport.h
│ │ │ ├── NSUserDefaults+RACSupport.m
│ │ │ ├── RACArraySequence.h
│ │ │ ├── RACArraySequence.m
│ │ │ ├── RACBehaviorSubject.h
│ │ │ ├── RACBehaviorSubject.m
│ │ │ ├── RACBlockTrampoline.h
│ │ │ ├── RACBlockTrampoline.m
│ │ │ ├── RACChannel.h
│ │ │ ├── RACChannel.m
│ │ │ ├── RACCommand.h
│ │ │ ├── RACCommand.m
│ │ │ ├── RACCompoundDisposable.h
│ │ │ ├── RACCompoundDisposable.m
│ │ │ ├── RACCompoundDisposableProvider.d
│ │ │ ├── RACDelegateProxy.h
│ │ │ ├── RACDelegateProxy.m
│ │ │ ├── RACDisposable.h
│ │ │ ├── RACDisposable.m
│ │ │ ├── RACDynamicSequence.h
│ │ │ ├── RACDynamicSequence.m
│ │ │ ├── RACDynamicSignal.h
│ │ │ ├── RACDynamicSignal.m
│ │ │ ├── RACEagerSequence.h
│ │ │ ├── RACEagerSequence.m
│ │ │ ├── RACEmptySequence.h
│ │ │ ├── RACEmptySequence.m
│ │ │ ├── RACEmptySignal.h
│ │ │ ├── RACEmptySignal.m
│ │ │ ├── RACErrorSignal.h
│ │ │ ├── RACErrorSignal.m
│ │ │ ├── RACEvent.h
│ │ │ ├── RACEvent.m
│ │ │ ├── RACGroupedSignal.h
│ │ │ ├── RACGroupedSignal.m
│ │ │ ├── RACImmediateScheduler.h
│ │ │ ├── RACImmediateScheduler.m
│ │ │ ├── RACIndexSetSequence.h
│ │ │ ├── RACIndexSetSequence.m
│ │ │ ├── RACKVOChannel.h
│ │ │ ├── RACKVOChannel.m
│ │ │ ├── RACKVOProxy.h
│ │ │ ├── RACKVOProxy.m
│ │ │ ├── RACKVOTrampoline.h
│ │ │ ├── RACKVOTrampoline.m
│ │ │ ├── RACMulticastConnection+Private.h
│ │ │ ├── RACMulticastConnection.h
│ │ │ ├── RACMulticastConnection.m
│ │ │ ├── RACObjCRuntime.h
│ │ │ ├── RACObjCRuntime.m
│ │ │ ├── RACPassthroughSubscriber.h
│ │ │ ├── RACPassthroughSubscriber.m
│ │ │ ├── RACQueueScheduler+Subclass.h
│ │ │ ├── RACQueueScheduler.h
│ │ │ ├── RACQueueScheduler.m
│ │ │ ├── RACReplaySubject.h
│ │ │ ├── RACReplaySubject.m
│ │ │ ├── RACReturnSignal.h
│ │ │ ├── RACReturnSignal.m
│ │ │ ├── RACScheduler+Private.h
│ │ │ ├── RACScheduler+Subclass.h
│ │ │ ├── RACScheduler.h
│ │ │ ├── RACScheduler.m
│ │ │ ├── RACScopedDisposable.h
│ │ │ ├── RACScopedDisposable.m
│ │ │ ├── RACSequence.h
│ │ │ ├── RACSequence.m
│ │ │ ├── RACSerialDisposable.h
│ │ │ ├── RACSerialDisposable.m
│ │ │ ├── RACSignal+Operations.h
│ │ │ ├── RACSignal+Operations.m
│ │ │ ├── RACSignal.h
│ │ │ ├── RACSignal.m
│ │ │ ├── RACSignalProvider.d
│ │ │ ├── RACSignalSequence.h
│ │ │ ├── RACSignalSequence.m
│ │ │ ├── RACStream+Private.h
│ │ │ ├── RACStream.h
│ │ │ ├── RACStream.m
│ │ │ ├── RACStringSequence.h
│ │ │ ├── RACStringSequence.m
│ │ │ ├── RACSubject.h
│ │ │ ├── RACSubject.m
│ │ │ ├── RACSubscriber+Private.h
│ │ │ ├── RACSubscriber.h
│ │ │ ├── RACSubscriber.m
│ │ │ ├── RACSubscriptingAssignmentTrampoline.h
│ │ │ ├── RACSubscriptingAssignmentTrampoline.m
│ │ │ ├── RACSubscriptionScheduler.h
│ │ │ ├── RACSubscriptionScheduler.m
│ │ │ ├── RACTargetQueueScheduler.h
│ │ │ ├── RACTargetQueueScheduler.m
│ │ │ ├── RACTestScheduler.h
│ │ │ ├── RACTestScheduler.m
│ │ │ ├── RACTuple.h
│ │ │ ├── RACTuple.m
│ │ │ ├── RACTupleSequence.h
│ │ │ ├── RACTupleSequence.m
│ │ │ ├── RACUnarySequence.h
│ │ │ ├── RACUnarySequence.m
│ │ │ ├── RACUnit.h
│ │ │ ├── RACUnit.m
│ │ │ ├── RACValueTransformer.h
│ │ │ ├── RACValueTransformer.m
│ │ │ ├── ReactiveCocoa.h
│ │ │ ├── UIActionSheet+RACSignalSupport.h
│ │ │ ├── UIActionSheet+RACSignalSupport.m
│ │ │ ├── UIAlertView+RACSignalSupport.h
│ │ │ ├── UIAlertView+RACSignalSupport.m
│ │ │ ├── UIBarButtonItem+RACCommandSupport.h
│ │ │ ├── UIBarButtonItem+RACCommandSupport.m
│ │ │ ├── UIButton+RACCommandSupport.h
│ │ │ ├── UIButton+RACCommandSupport.m
│ │ │ ├── UICollectionReusableView+RACSignalSupport.h
│ │ │ ├── UICollectionReusableView+RACSignalSupport.m
│ │ │ ├── UIControl+RACSignalSupport.h
│ │ │ ├── UIControl+RACSignalSupport.m
│ │ │ ├── UIControl+RACSignalSupportPrivate.h
│ │ │ ├── UIControl+RACSignalSupportPrivate.m
│ │ │ ├── UIDatePicker+RACSignalSupport.h
│ │ │ ├── UIDatePicker+RACSignalSupport.m
│ │ │ ├── UIGestureRecognizer+RACSignalSupport.h
│ │ │ ├── UIGestureRecognizer+RACSignalSupport.m
│ │ │ ├── UIImagePickerController+RACSignalSupport.h
│ │ │ ├── UIImagePickerController+RACSignalSupport.m
│ │ │ ├── UIRefreshControl+RACCommandSupport.h
│ │ │ ├── UIRefreshControl+RACCommandSupport.m
│ │ │ ├── UISegmentedControl+RACSignalSupport.h
│ │ │ ├── UISegmentedControl+RACSignalSupport.m
│ │ │ ├── UISlider+RACSignalSupport.h
│ │ │ ├── UISlider+RACSignalSupport.m
│ │ │ ├── UIStepper+RACSignalSupport.h
│ │ │ ├── UIStepper+RACSignalSupport.m
│ │ │ ├── UISwitch+RACSignalSupport.h
│ │ │ ├── UISwitch+RACSignalSupport.m
│ │ │ ├── UITableViewCell+RACSignalSupport.h
│ │ │ ├── UITableViewCell+RACSignalSupport.m
│ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.h
│ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.m
│ │ │ ├── UITextField+RACSignalSupport.h
│ │ │ ├── UITextField+RACSignalSupport.m
│ │ │ ├── UITextView+RACSignalSupport.h
│ │ │ ├── UITextView+RACSignalSupport.m
│ │ │ └── extobjc
│ │ │ ├── RACEXTKeyPathCoding.h
│ │ │ ├── RACEXTRuntimeExtensions.h
│ │ │ ├── RACEXTRuntimeExtensions.m
│ │ │ ├── RACEXTScope.h
│ │ │ └── RACmetamacros.h
│ ├── Specta
│ │ ├── LICENSE
│ │ ├── README.md
│ │ └── Specta
│ │ │ └── Specta
│ │ │ ├── SPTCallSite.h
│ │ │ ├── SPTCallSite.m
│ │ │ ├── SPTCompiledExample.h
│ │ │ ├── SPTCompiledExample.m
│ │ │ ├── SPTExample.h
│ │ │ ├── SPTExample.m
│ │ │ ├── SPTExampleGroup.h
│ │ │ ├── SPTExampleGroup.m
│ │ │ ├── SPTExcludeGlobalBeforeAfterEach.h
│ │ │ ├── SPTGlobalBeforeAfterEach.h
│ │ │ ├── SPTSharedExampleGroups.h
│ │ │ ├── SPTSharedExampleGroups.m
│ │ │ ├── SPTSpec.h
│ │ │ ├── SPTSpec.m
│ │ │ ├── SPTTestSuite.h
│ │ │ ├── SPTTestSuite.m
│ │ │ ├── Specta.h
│ │ │ ├── SpectaDSL.h
│ │ │ ├── SpectaDSL.m
│ │ │ ├── SpectaTypes.h
│ │ │ ├── SpectaUtility.h
│ │ │ ├── SpectaUtility.m
│ │ │ ├── XCTest+Private.h
│ │ │ ├── XCTestCase+Specta.h
│ │ │ └── XCTestCase+Specta.m
│ └── Target Support Files
│ │ ├── AFNetworking
│ │ ├── AFNetworking-dummy.m
│ │ ├── AFNetworking-prefix.pch
│ │ ├── AFNetworking-umbrella.h
│ │ ├── AFNetworking.modulemap
│ │ ├── AFNetworking.xcconfig
│ │ └── Info.plist
│ │ ├── AFNetworking3-RACExtensions
│ │ ├── AFNetworking3-RACExtensions-dummy.m
│ │ ├── AFNetworking3-RACExtensions-prefix.pch
│ │ ├── AFNetworking3-RACExtensions-umbrella.h
│ │ ├── AFNetworking3-RACExtensions.modulemap
│ │ ├── AFNetworking3-RACExtensions.xcconfig
│ │ └── Info.plist
│ │ ├── Expecta
│ │ ├── Expecta-dummy.m
│ │ ├── Expecta-prefix.pch
│ │ ├── Expecta-umbrella.h
│ │ ├── Expecta.modulemap
│ │ ├── Expecta.xcconfig
│ │ └── Info.plist
│ │ ├── Pods-AFNetworking3-RACExtensions_Example
│ │ ├── Info.plist
│ │ ├── Pods-AFNetworking3-RACExtensions_Example-acknowledgements.markdown
│ │ ├── Pods-AFNetworking3-RACExtensions_Example-acknowledgements.plist
│ │ ├── Pods-AFNetworking3-RACExtensions_Example-dummy.m
│ │ ├── Pods-AFNetworking3-RACExtensions_Example-frameworks.sh
│ │ ├── Pods-AFNetworking3-RACExtensions_Example-resources.sh
│ │ ├── Pods-AFNetworking3-RACExtensions_Example-umbrella.h
│ │ ├── Pods-AFNetworking3-RACExtensions_Example.debug.xcconfig
│ │ ├── Pods-AFNetworking3-RACExtensions_Example.modulemap
│ │ └── Pods-AFNetworking3-RACExtensions_Example.release.xcconfig
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests
│ │ ├── Info.plist
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests-acknowledgements.markdown
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests-acknowledgements.plist
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests-dummy.m
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests-frameworks.sh
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests-resources.sh
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests-umbrella.h
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests.debug.xcconfig
│ │ ├── Pods-AFNetworking3-RACExtensions_Tests.modulemap
│ │ └── Pods-AFNetworking3-RACExtensions_Tests.release.xcconfig
│ │ ├── ReactiveCocoa
│ │ ├── Info.plist
│ │ ├── ReactiveCocoa-dummy.m
│ │ ├── ReactiveCocoa-prefix.pch
│ │ ├── ReactiveCocoa-umbrella.h
│ │ ├── ReactiveCocoa.modulemap
│ │ └── ReactiveCocoa.xcconfig
│ │ └── Specta
│ │ ├── Info.plist
│ │ ├── Specta-dummy.m
│ │ ├── Specta-prefix.pch
│ │ ├── Specta-umbrella.h
│ │ ├── Specta.modulemap
│ │ └── Specta.xcconfig
└── Tests
│ ├── Tests-Info.plist
│ ├── Tests-Prefix.pch
│ ├── Tests.m
│ └── en.lproj
│ └── InfoPlist.strings
├── LICENSE
├── README.md
└── _Pods.xcodeproj
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata/
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 |
22 | # Bundler
23 | .bundle
24 |
25 | Carthage
26 | # We recommend against adding the Pods directory to your .gitignore. However
27 | # you should judge for yourself, the pros and cons are mentioned at:
28 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
29 | #
30 | # Note: if you ignore the Pods directory, make sure to uncomment
31 | # `pod install` in .travis.yml
32 | #
33 | # Pods/
34 |
35 | *.swp
36 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | # references:
2 | # * http://www.objc.io/issue-6/travis-ci.html
3 | # * https://github.com/supermarin/xcpretty#usage
4 |
5 | osx_image: xcode7.3
6 | language: objective-c
7 | # cache: cocoapods
8 | # podfile: Example/Podfile
9 | # before_install:
10 | # - gem install cocoapods # Since Travis is not always on latest version
11 | # - pod install --project-directory=Example
12 | script:
13 | - set -o pipefail && xcodebuild test -workspace Example/AFNetworking3-RACExtensions.xcworkspace -scheme AFNetworking3-RACExtensions-Example -sdk iphonesimulator9.3 ONLY_ACTIVE_ARCH=NO | xcpretty
14 | - pod lib lint
15 |
--------------------------------------------------------------------------------
/AFNetworking3-RACExtensions/Assets/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MakeItEasy/AFNetworking3-RACExtensions/f33f10a254cc4a9e81592ee1d000296cd3063ab3/AFNetworking3-RACExtensions/Assets/.gitkeep
--------------------------------------------------------------------------------
/AFNetworking3-RACExtensions/Classes/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/MakeItEasy/AFNetworking3-RACExtensions/f33f10a254cc4a9e81592ee1d000296cd3063ab3/AFNetworking3-RACExtensions/Classes/.gitkeep
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions/AFNetworking3-RACExtensions-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleIdentifier
12 | $(PRODUCT_BUNDLE_IDENTIFIER)
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundleName
16 | ${PRODUCT_NAME}
17 | CFBundlePackageType
18 | APPL
19 | CFBundleShortVersionString
20 | 1.0
21 | CFBundleSignature
22 | ????
23 | CFBundleVersion
24 | 1.0
25 | LSRequiresIPhoneOS
26 |
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions/AFNetworking3-RACExtensions-Prefix.pch:
--------------------------------------------------------------------------------
1 | //
2 | // Prefix header
3 | //
4 | // The contents of this file are implicitly included at the beginning of every source file.
5 | //
6 |
7 | #import
8 |
9 | #ifndef __IPHONE_5_0
10 | #warning "This project uses features only available in iOS SDK 5.0 and later."
11 | #endif
12 |
13 | #ifdef __OBJC__
14 | @import UIKit;
15 | @import Foundation;
16 | #endif
17 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions/Images.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "orientation" : "portrait",
5 | "idiom" : "iphone",
6 | "extent" : "full-screen",
7 | "minimum-system-version" : "7.0",
8 | "scale" : "2x"
9 | },
10 | {
11 | "orientation" : "portrait",
12 | "idiom" : "iphone",
13 | "subtype" : "retina4",
14 | "extent" : "full-screen",
15 | "minimum-system-version" : "7.0",
16 | "scale" : "2x"
17 | },
18 | {
19 | "orientation" : "portrait",
20 | "idiom" : "ipad",
21 | "extent" : "full-screen",
22 | "minimum-system-version" : "7.0",
23 | "scale" : "1x"
24 | },
25 | {
26 | "orientation" : "landscape",
27 | "idiom" : "ipad",
28 | "extent" : "full-screen",
29 | "minimum-system-version" : "7.0",
30 | "scale" : "1x"
31 | },
32 | {
33 | "orientation" : "portrait",
34 | "idiom" : "ipad",
35 | "extent" : "full-screen",
36 | "minimum-system-version" : "7.0",
37 | "scale" : "2x"
38 | },
39 | {
40 | "orientation" : "landscape",
41 | "idiom" : "ipad",
42 | "extent" : "full-screen",
43 | "minimum-system-version" : "7.0",
44 | "scale" : "2x"
45 | }
46 | ],
47 | "info" : {
48 | "version" : 1,
49 | "author" : "xcode"
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions/MIEAppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // MIEAppDelegate.h
3 | // AFNetworking3-RACExtensions
4 | //
5 | // Created by MakeItEasy on 12/23/2016.
6 | // Copyright (c) 2016 MakeItEasy. All rights reserved.
7 | //
8 |
9 | @import UIKit;
10 |
11 | @interface MIEAppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions/MIEViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // MIEViewController.h
3 | // AFNetworking3-RACExtensions
4 | //
5 | // Created by MakeItEasy on 12/23/2016.
6 | // Copyright (c) 2016 MakeItEasy. All rights reserved.
7 | //
8 |
9 | @import UIKit;
10 |
11 | @interface MIEViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions/MIEViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // MIEViewController.m
3 | // AFNetworking3-RACExtensions
4 | //
5 | // Created by MakeItEasy on 12/23/2016.
6 | // Copyright (c) 2016 MakeItEasy. All rights reserved.
7 | //
8 |
9 | #import "MIEViewController.h"
10 |
11 | @interface MIEViewController ()
12 |
13 | @end
14 |
15 | @implementation MIEViewController
16 |
17 | - (void)viewDidLoad
18 | {
19 | [super viewDidLoad];
20 | // Do any additional setup after loading the view, typically from a nib.
21 | }
22 |
23 | - (void)didReceiveMemoryWarning
24 | {
25 | [super didReceiveMemoryWarning];
26 | // Dispose of any resources that can be recreated.
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/Example/AFNetworking3-RACExtensions/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // AFNetworking3-RACExtensions
4 | //
5 | // Created by MakeItEasy on 12/23/2016.
6 | // Copyright (c) 2016 MakeItEasy. All rights reserved.
7 | //
8 |
9 | @import UIKit;
10 | #import "MIEAppDelegate.h"
11 |
12 | int main(int argc, char * argv[])
13 | {
14 | @autoreleasepool {
15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([MIEAppDelegate class]));
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Example/Podfile:
--------------------------------------------------------------------------------
1 | use_frameworks!
2 |
3 | target 'AFNetworking3-RACExtensions_Example' do
4 | pod 'AFNetworking3-RACExtensions', :path => '../'
5 |
6 | target 'AFNetworking3-RACExtensions_Tests' do
7 | inherit! :search_paths
8 |
9 | pod 'Specta'
10 | pod 'Expecta'
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/Example/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - AFNetworking/NSURLSession (3.1.0):
3 | - AFNetworking/Reachability
4 | - AFNetworking/Security
5 | - AFNetworking/Serialization
6 | - AFNetworking/Reachability (3.1.0)
7 | - AFNetworking/Security (3.1.0)
8 | - AFNetworking/Serialization (3.1.0)
9 | - AFNetworking3-RACExtensions (0.1.0):
10 | - AFNetworking3-RACExtensions/NSURLSession (= 0.1.0)
11 | - AFNetworking3-RACExtensions/NSURLSession (0.1.0):
12 | - AFNetworking/NSURLSession (~> 3.0)
13 | - ReactiveCocoa (~> 2.0)
14 | - Expecta (1.0.5)
15 | - ReactiveCocoa (2.5):
16 | - ReactiveCocoa/UI (= 2.5)
17 | - ReactiveCocoa/Core (2.5):
18 | - ReactiveCocoa/no-arc
19 | - ReactiveCocoa/no-arc (2.5)
20 | - ReactiveCocoa/UI (2.5):
21 | - ReactiveCocoa/Core
22 | - Specta (1.0.5)
23 |
24 | DEPENDENCIES:
25 | - AFNetworking3-RACExtensions (from `../`)
26 | - Expecta
27 | - Specta
28 |
29 | EXTERNAL SOURCES:
30 | AFNetworking3-RACExtensions:
31 | :path: ../
32 |
33 | SPEC CHECKSUMS:
34 | AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67
35 | AFNetworking3-RACExtensions: 7e6bd04ef69a3783f6379c1dfa1ed28069caebe3
36 | Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
37 | ReactiveCocoa: e2db045570aa97c695e7aa97c2bcab222ae51f4a
38 | Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
39 |
40 | PODFILE CHECKSUM: 35185b3dd34f53f6d0484ef3f6d27d646593f756
41 |
42 | COCOAPODS: 1.1.1
43 |
--------------------------------------------------------------------------------
/Example/Pods/AFNetworking/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011–2016 Alamofire Software Foundation (http://alamofire.org/)
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.h:
--------------------------------------------------------------------------------
1 | //
2 | // EXPRuntimeMatcher.h
3 | // Expecta
4 | //
5 | // Created by Luke Redpath on 26/03/2012.
6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "EXPMatcher.h"
11 | #import "EXPDefines.h"
12 |
13 | @interface EXPBlockDefinedMatcher : NSObject {
14 | EXPBoolBlock prerequisiteBlock;
15 | EXPBoolBlock matchBlock;
16 | EXPStringBlock failureMessageForToBlock;
17 | EXPStringBlock failureMessageForNotToBlock;
18 | }
19 |
20 | @property(nonatomic, copy) EXPBoolBlock prerequisiteBlock;
21 | @property(nonatomic, copy) EXPBoolBlock matchBlock;
22 | @property(nonatomic, copy) EXPStringBlock failureMessageForToBlock;
23 | @property(nonatomic, copy) EXPStringBlock failureMessageForNotToBlock;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPBlockDefinedMatcher.m:
--------------------------------------------------------------------------------
1 | //
2 | // EXPRuntimeMatcher.m
3 | // Expecta
4 | //
5 | // Created by Luke Redpath on 26/03/2012.
6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
7 | //
8 |
9 | #import "EXPBlockDefinedMatcher.h"
10 |
11 | @implementation EXPBlockDefinedMatcher
12 |
13 | - (void)dealloc
14 | {
15 | self.prerequisiteBlock = nil;
16 | self.matchBlock = nil;
17 | self.failureMessageForToBlock = nil;
18 | self.failureMessageForNotToBlock = nil;
19 |
20 | [super dealloc];
21 | }
22 |
23 | @synthesize prerequisiteBlock;
24 | @synthesize matchBlock;
25 | @synthesize failureMessageForToBlock;
26 | @synthesize failureMessageForNotToBlock;
27 |
28 | - (BOOL)meetsPrerequesiteFor:(id)actual
29 | {
30 | if (self.prerequisiteBlock) {
31 | return self.prerequisiteBlock();
32 | }
33 | return YES;
34 | }
35 |
36 | - (BOOL)matches:(id)actual
37 | {
38 | if (self.matchBlock) {
39 | return self.matchBlock();
40 | }
41 | return YES;
42 | }
43 |
44 | - (NSString *)failureMessageForTo:(id)actual
45 | {
46 | if (self.failureMessageForToBlock) {
47 | return self.failureMessageForToBlock();
48 | }
49 | return nil;
50 | }
51 |
52 | - (NSString *)failureMessageForNotTo:(id)actual
53 | {
54 | if (self.failureMessageForNotToBlock) {
55 | return self.failureMessageForNotToBlock();
56 | }
57 | return nil;
58 | }
59 |
60 | @end
61 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPDefines.h:
--------------------------------------------------------------------------------
1 | //
2 | // EXPDefines.h
3 | // Expecta
4 | //
5 | // Created by Luke Redpath on 26/03/2012.
6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
7 | //
8 |
9 | #ifndef Expecta_EXPDefines_h
10 | #define Expecta_EXPDefines_h
11 |
12 | typedef void (^EXPBasicBlock)();
13 | typedef id (^EXPIdBlock)();
14 | typedef BOOL (^EXPBoolBlock)();
15 | typedef NSString *(^EXPStringBlock)();
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPDoubleTuple.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface EXPDoubleTuple : NSObject {
4 | double *_values;
5 | size_t _size;
6 | }
7 |
8 | @property (nonatomic, assign) double *values;
9 | @property (nonatomic, assign) size_t size;
10 |
11 | - (instancetype)initWithDoubleValues:(double *)values size:(size_t)size NS_DESIGNATED_INITIALIZER;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPDoubleTuple.m:
--------------------------------------------------------------------------------
1 | #import "EXPDoubleTuple.h"
2 |
3 | #pragma clang diagnostic push
4 | #pragma clang diagnostic ignored "-Wobjc-designated-initializers"
5 | @implementation EXPDoubleTuple
6 | #pragma clang diagnostic pop
7 |
8 | @synthesize values = _values, size = _size;
9 |
10 | - (instancetype)initWithDoubleValues:(double *)values size:(size_t)size {
11 | if ((self = [super init])) {
12 | self.values = malloc(sizeof(double) * size);
13 | memcpy(self.values, values, sizeof(double) * size);
14 | self.size = size;
15 | }
16 | return self;
17 | }
18 |
19 | - (void)dealloc {
20 | free(self.values);
21 | [super dealloc];
22 | }
23 |
24 | - (BOOL)isEqual:(id)object {
25 | if (![object isKindOfClass:[EXPDoubleTuple class]]) return NO;
26 | EXPDoubleTuple *other = (EXPDoubleTuple *)object;
27 | if (self.size == other.size) {
28 | for (int i = 0; i < self.size; ++i) {
29 | if (self.values[i] != other.values[i]) return NO;
30 | }
31 | return YES;
32 | }
33 | return NO;
34 | }
35 |
36 | - (NSString *)description {
37 | if (self.size == 2) {
38 | return [NSString stringWithFormat:@"Double tuple: {%f, %f}", self.values[0], self.values[1]];
39 | } else if (self.size == 4) {
40 | return [NSString stringWithFormat:@"Double tuple: {%f, %f, %f, %f}", self.values[0], self.values[1], self.values[2], self.values[3]];
41 | }
42 | return [NSString stringWithFormat:@"Double tuple of unexpected size %zd, sadly", self.size];
43 | }
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPFloatTuple.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface EXPFloatTuple : NSObject {
4 | float *_values;
5 | size_t _size;
6 | }
7 |
8 | @property (nonatomic, assign) float *values;
9 | @property (nonatomic, assign) size_t size;
10 |
11 | - (instancetype)initWithFloatValues:(float *)values size:(size_t)size NS_DESIGNATED_INITIALIZER;
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPMatcher.h:
--------------------------------------------------------------------------------
1 | //
2 | // EXPMatcher.h
3 | // Expecta
4 | //
5 | // Created by Luke Redpath on 26/03/2012.
6 | // Copyright (c) 2012 Peter Jihoon Kim. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @protocol EXPMatcher
12 |
13 | - (BOOL)matches:(id)actual;
14 |
15 | @optional
16 | - (BOOL)meetsPrerequesiteFor:(id)actual;
17 | - (NSString *)failureMessageForTo:(id)actual;
18 | - (NSString *)failureMessageForNotTo:(id)actual;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface EXPUnsupportedObject : NSObject {
4 | NSString *_type;
5 | }
6 |
7 | @property (nonatomic, retain) NSString *type;
8 |
9 | - (instancetype)initWithType:(NSString *)type NS_DESIGNATED_INITIALIZER;
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/EXPUnsupportedObject.m:
--------------------------------------------------------------------------------
1 | #import "EXPUnsupportedObject.h"
2 |
3 | #pragma clang diagnostic push
4 | #pragma clang diagnostic ignored "-Wobjc-designated-initializers"
5 | @implementation EXPUnsupportedObject
6 | #pragma clang diagnostic pop
7 |
8 | @synthesize type=_type;
9 |
10 | - (instancetype)initWithType:(NSString *)type {
11 | self = [super init];
12 | if(self) {
13 | self.type = type;
14 | }
15 | return self;
16 | }
17 |
18 | - (void)dealloc {
19 | self.type = nil;
20 | [super dealloc];
21 | }
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Expecta.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | //! Project version number for Expecta.
4 | FOUNDATION_EXPORT double ExpectaVersionNumber;
5 |
6 | //! Project version string for Expecta.
7 | FOUNDATION_EXPORT const unsigned char ExpectaVersionString[];
8 |
9 | #import
10 | #import
11 | #import
12 |
13 | // Enable shorthand by default
14 | #define expect(...) EXP_expect((__VA_ARGS__))
15 | #define failure(...) EXP_failure((__VA_ARGS__))
16 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/ExpectaObject.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #define EXPObjectify(value) _EXPObjectify(@encode(__typeof__((value))), (value))
4 | #define EXP_expect(actual) _EXP_expect(self, __LINE__, __FILE__, ^id{ __typeof__((actual)) strongActual = (actual); return EXPObjectify(strongActual); })
5 | #define EXPMatcherInterface(matcherName, matcherArguments) _EXPMatcherInterface(matcherName, matcherArguments)
6 | #define EXPMatcherImplementationBegin(matcherName, matcherArguments) _EXPMatcherImplementationBegin(matcherName, matcherArguments)
7 | #define EXPMatcherImplementationEnd _EXPMatcherImplementationEnd
8 | #define EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments) _EXPMatcherAliasImplementation(newMatcherName, oldMatcherName, matcherArguments)
9 |
10 | #define EXP_failure(message) EXPFail(self, __LINE__, __FILE__, message)
11 |
12 |
13 | @interface Expecta : NSObject
14 |
15 | + (NSTimeInterval)asynchronousTestTimeout;
16 | + (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/ExpectaObject.m:
--------------------------------------------------------------------------------
1 | #import "ExpectaObject.h"
2 |
3 | @implementation Expecta
4 |
5 | static NSTimeInterval _asynchronousTestTimeout = 1.0;
6 |
7 | + (NSTimeInterval)asynchronousTestTimeout {
8 | return _asynchronousTestTimeout;
9 | }
10 |
11 | + (void)setAsynchronousTestTimeout:(NSTimeInterval)timeout {
12 | _asynchronousTestTimeout = timeout;
13 | }
14 |
15 | @end
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | BOOL EXPIsValuePointer(NSValue *value);
4 | BOOL EXPIsNumberFloat(NSNumber *number);
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatcherHelpers.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatcherHelpers.h"
2 |
3 | BOOL EXPIsValuePointer(NSValue *value) {
4 | return [value objCType][0] == @encode(void *)[0];
5 | }
6 |
7 | BOOL EXPIsNumberFloat(NSNumber *number) {
8 | return strcmp([number objCType], @encode(float)) == 0;
9 | }
10 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beCloseTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beCloseToWithin, (id expected, id within));
4 | EXPMatcherInterface(beCloseToWithin, (id expected, id within));
5 |
6 | #define beCloseTo(expected) _beCloseToWithin(EXPObjectify((expected)), nil)
7 | #define beCloseToWithin(expected, range) _beCloseToWithin(EXPObjectify((expected)), EXPObjectify((range)))
8 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beFalsy, (void));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beFalsy.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beFalsy.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(beFalsy, (void)) {
5 | match(^BOOL{
6 | if([actual isKindOfClass:[NSNumber class]]) {
7 | return ![(NSNumber *)actual boolValue];
8 | } else if([actual isKindOfClass:[NSValue class]]) {
9 | if(EXPIsValuePointer((NSValue *)actual)) {
10 | return ![(NSValue *)actual pointerValue];
11 | }
12 | }
13 | return !actual;
14 | });
15 |
16 | failureMessageForTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: a falsy value, got: %@, which is truthy", EXPDescribeObject(actual)];
18 | });
19 |
20 | failureMessageForNotTo(^NSString *{
21 | return [NSString stringWithFormat:@"expected: a non-falsy value, got: %@, which is falsy", EXPDescribeObject(actual)];
22 | });
23 | }
24 | EXPMatcherImplementationEnd
25 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beGreaterThan, (id expected));
4 | EXPMatcherInterface(beGreaterThan, (id expected));
5 |
6 | #define beGreaterThan(expected) _beGreaterThan(EXPObjectify((expected)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThan.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beGreaterThan.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beGreaterThan, (id expected)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | return [actual compare:expected] == NSOrderedDescending;
8 | }
9 | return NO;
10 | });
11 |
12 | failureMessageForTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: %@ to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
14 | });
15 |
16 | failureMessageForNotTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: %@ not to be greater than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
18 | });
19 | }
20 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beGreaterThanOrEqualTo, (id expected));
4 | EXPMatcherInterface(beGreaterThanOrEqualTo, (id expected));
5 |
6 | #define beGreaterThanOrEqualTo(expected) _beGreaterThanOrEqualTo(EXPObjectify((expected)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beGreaterThanOrEqualTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beGreaterThanOrEqualTo.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beGreaterThanOrEqualTo, (id expected)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | return [actual compare:expected] != NSOrderedAscending;
8 | }
9 | return NO;
10 | });
11 |
12 | failureMessageForTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: %@ to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
14 | });
15 |
16 | failureMessageForNotTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: %@ not to be greater than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
18 | });
19 | }
20 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beIdenticalTo, (void *expected));
4 | EXPMatcherInterface(beIdenticalTo, (void *expected)); // to aid code completion
5 |
6 | #if __has_feature(objc_arc)
7 | #define beIdenticalTo(expected) _beIdenticalTo((__bridge void*)expected)
8 | #else
9 | #define beIdenticalTo(expected) _beIdenticalTo(expected)
10 | #endif
11 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beIdenticalTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+equal.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beIdenticalTo, (void *expected)) {
5 | match(^BOOL{
6 | if(actual == expected) {
7 | return YES;
8 | } else if([actual isKindOfClass:[NSValue class]] && EXPIsValuePointer((NSValue *)actual)) {
9 | if([(NSValue *)actual pointerValue] == expected) {
10 | return YES;
11 | }
12 | }
13 | return NO;
14 | });
15 |
16 | failureMessageForTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: <%p>, got: <%p>", expected, actual];
18 | });
19 |
20 | failureMessageForNotTo(^NSString *{
21 | return [NSString stringWithFormat:@"expected: not <%p>, got: <%p>", expected, actual];
22 | });
23 | }
24 | EXPMatcherImplementationEnd
25 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));
4 | EXPMatcherInterface(beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound));
5 |
6 | #define beInTheRangeOf(expectedLowerBound, expectedUpperBound) _beInTheRangeOf(EXPObjectify((expectedLowerBound)), EXPObjectify((expectedUpperBound)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInTheRangeOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beInTheRangeOf.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beInTheRangeOf, (id expectedLowerBound, id expectedUpperBound)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | NSComparisonResult compareLowerBound = [expectedLowerBound compare: actual];
8 | NSComparisonResult compareUpperBound = [expectedUpperBound compare: actual];
9 | if (compareLowerBound == NSOrderedSame) {
10 | return YES;
11 | }
12 | if (compareUpperBound == NSOrderedSame) {
13 | return YES;
14 | }
15 | if ((compareLowerBound == NSOrderedAscending) && (compareUpperBound == NSOrderedDescending)) {
16 | return YES;
17 | }
18 | }
19 | return NO;
20 | });
21 |
22 | failureMessageForTo(^NSString *{
23 | return [NSString stringWithFormat:@"expected: %@ to be in the range [%@, %@] (inclusive)", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)];
24 | });
25 |
26 | failureMessageForNotTo(^NSString *{
27 | return [NSString stringWithFormat:@"expected: %@ not to be in the range [%@, %@] (inclusive)", EXPDescribeObject(actual), EXPDescribeObject(expectedLowerBound), EXPDescribeObject(expectedUpperBound)];
28 | });
29 | }
30 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beInstanceOf, (Class expected));
4 | EXPMatcherInterface(beAnInstanceOf, (Class expected));
5 | EXPMatcherInterface(beMemberOf, (Class expected));
6 | EXPMatcherInterface(beAMemberOf, (Class expected));
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beInstanceOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beInstanceOf.h"
2 |
3 | EXPMatcherImplementationBegin(beInstanceOf, (Class expected)) {
4 | BOOL actualIsNil = (actual == nil);
5 | BOOL expectedIsNil = (expected == nil);
6 |
7 | prerequisite(^BOOL{
8 | return !(actualIsNil || expectedIsNil);
9 | });
10 |
11 | match(^BOOL{
12 | return [actual isMemberOfClass:expected];
13 | });
14 |
15 | failureMessageForTo(^NSString *{
16 | if(actualIsNil) return @"the actual value is nil/null";
17 | if(expectedIsNil) return @"the expected value is nil/null";
18 | return [NSString stringWithFormat:@"expected: an instance of %@, got: an instance of %@", [expected class], [actual class]];
19 | });
20 |
21 | failureMessageForNotTo(^NSString *{
22 | if(actualIsNil) return @"the actual value is nil/null";
23 | if(expectedIsNil) return @"the expected value is nil/null";
24 | return [NSString stringWithFormat:@"expected: not an instance of %@, got: an instance of %@", [expected class], [actual class]];
25 | });
26 | }
27 | EXPMatcherImplementationEnd
28 |
29 | EXPMatcherAliasImplementation(beAnInstanceOf, beInstanceOf, (Class expected));
30 | EXPMatcherAliasImplementation(beMemberOf, beInstanceOf, (Class expected));
31 | EXPMatcherAliasImplementation(beAMemberOf, beInstanceOf, (Class expected));
32 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beKindOf, (Class expected));
4 | EXPMatcherInterface(beAKindOf, (Class expected));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beKindOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beKindOf.h"
2 |
3 | EXPMatcherImplementationBegin(beKindOf, (Class expected)) {
4 | BOOL actualIsNil = (actual == nil);
5 | BOOL expectedIsNil = (expected == nil);
6 |
7 | prerequisite(^BOOL{
8 | return !(actualIsNil || expectedIsNil);
9 | });
10 |
11 | match(^BOOL{
12 | return [actual isKindOfClass:expected];
13 | });
14 |
15 | failureMessageForTo(^NSString *{
16 | if(actualIsNil) return @"the actual value is nil/null";
17 | if(expectedIsNil) return @"the expected value is nil/null";
18 | return [NSString stringWithFormat:@"expected: a kind of %@, got: an instance of %@, which is not a kind of %@", [expected class], [actual class], [expected class]];
19 | });
20 |
21 | failureMessageForNotTo(^NSString *{
22 | if(actualIsNil) return @"the actual value is nil/null";
23 | if(expectedIsNil) return @"the expected value is nil/null";
24 | return [NSString stringWithFormat:@"expected: not a kind of %@, got: an instance of %@, which is a kind of %@", [expected class], [actual class], [expected class]];
25 | });
26 | }
27 | EXPMatcherImplementationEnd
28 |
29 | EXPMatcherAliasImplementation(beAKindOf, beKindOf, (Class expected));
30 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beLessThan, (id expected));
4 | EXPMatcherInterface(beLessThan, (id expected));
5 |
6 | #define beLessThan(expected) _beLessThan(EXPObjectify((expected)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThan.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beLessThan.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beLessThan, (id expected)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | return [actual compare:expected] == NSOrderedAscending;
8 | }
9 | return NO;
10 | });
11 |
12 | failureMessageForTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: %@ to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
14 | });
15 |
16 | failureMessageForNotTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: %@ not to be less than %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
18 | });
19 | }
20 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_beLessThanOrEqualTo, (id expected));
4 | EXPMatcherInterface(beLessThanOrEqualTo, (id expected));
5 |
6 | #define beLessThanOrEqualTo(expected) _beLessThanOrEqualTo(EXPObjectify((expected)))
7 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beLessThanOrEqualTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beLessThanOrEqualTo.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(_beLessThanOrEqualTo, (id expected)) {
5 | match(^BOOL{
6 | if ([actual respondsToSelector:@selector(compare:)]) {
7 | return [actual compare:expected] != NSOrderedDescending;
8 | }
9 | return NO;
10 | });
11 |
12 | failureMessageForTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: %@ to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
14 | });
15 |
16 | failureMessageForNotTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: %@ not to be less than or equal to %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
18 | });
19 | }
20 | EXPMatcherImplementationEnd
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beNil, (void));
4 | EXPMatcherInterface(beNull, (void));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beNil.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beNil.h"
2 |
3 | EXPMatcherImplementationBegin(beNil, (void)) {
4 | match(^BOOL{
5 | return actual == nil;
6 | });
7 |
8 | failureMessageForTo(^NSString *{
9 | return [NSString stringWithFormat:@"expected: nil/null, got: %@", EXPDescribeObject(actual)];
10 | });
11 |
12 | failureMessageForNotTo(^NSString *{
13 | return [NSString stringWithFormat:@"expected: not nil/null, got: %@", EXPDescribeObject(actual)];
14 | });
15 | }
16 | EXPMatcherImplementationEnd
17 |
18 | EXPMatcherAliasImplementation(beNull, beNil, (void));
19 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beSubclassOf, (Class expected));
4 | EXPMatcherInterface(beASubclassOf, (Class expected));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSubclassOf.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beSubclassOf.h"
2 | #import "NSValue+Expecta.h"
3 | #import
4 |
5 | EXPMatcherImplementationBegin(beSubclassOf, (Class expected)) {
6 | __block BOOL actualIsClass = YES;
7 |
8 | prerequisite(^BOOL {
9 | actualIsClass = class_isMetaClass(object_getClass(actual));
10 | return actualIsClass;
11 | });
12 |
13 | match(^BOOL{
14 | return [actual isSubclassOfClass:expected];
15 | });
16 |
17 | failureMessageForTo(^NSString *{
18 | if(!actualIsClass) return @"the actual value is not a Class";
19 | return [NSString stringWithFormat:@"expected: a subclass of %@, got: a class %@, which is not a subclass of %@", [expected class], actual, [expected class]];
20 | });
21 |
22 | failureMessageForNotTo(^NSString *{
23 | if(!actualIsClass) return @"the actual value is not a Class";
24 | return [NSString stringWithFormat:@"expected: not a subclass of %@, got: a class %@, which is a subclass of %@", [expected class], actual, [expected class]];
25 | });
26 | }
27 | EXPMatcherImplementationEnd
28 |
29 | EXPMatcherAliasImplementation(beASubclassOf, beSubclassOf, (Class expected));
30 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beSupersetOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beSupersetOf, (id subset));
4 |
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beTruthy, (void));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beTruthy.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beTruthy.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(beTruthy, (void)) {
5 | match(^BOOL{
6 | if([actual isKindOfClass:[NSNumber class]]) {
7 | return !![(NSNumber *)actual boolValue];
8 | } else if([actual isKindOfClass:[NSValue class]]) {
9 | if(EXPIsValuePointer((NSValue *)actual)) {
10 | return !![(NSValue *)actual pointerValue];
11 | }
12 | }
13 | return !!actual;
14 | });
15 |
16 | failureMessageForTo(^NSString *{
17 | return [NSString stringWithFormat:@"expected: a truthy value, got: %@, which is falsy", EXPDescribeObject(actual)];
18 | });
19 |
20 | failureMessageForNotTo(^NSString *{
21 | return [NSString stringWithFormat:@"expected: a non-truthy value, got: %@, which is truthy", EXPDescribeObject(actual)];
22 | });
23 | }
24 | EXPMatcherImplementationEnd
25 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+beginWith.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(beginWith, (id expected));
4 | EXPMatcherInterface(startWith, (id expected));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(conformTo, (Protocol *expected));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+conformTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+conformTo.h"
2 | #import "NSValue+Expecta.h"
3 | #import
4 |
5 | EXPMatcherImplementationBegin(conformTo, (Protocol *expected)) {
6 | BOOL actualIsNil = (actual == nil);
7 | BOOL expectedIsNil = (expected == nil);
8 |
9 | prerequisite(^BOOL{
10 | return !(actualIsNil || expectedIsNil);
11 | });
12 |
13 | match(^BOOL{
14 | return [actual conformsToProtocol:expected];
15 | });
16 |
17 | failureMessageForTo(^NSString *{
18 | if(actualIsNil) return @"the object is nil/null";
19 | if(expectedIsNil) return @"the protocol is nil/null";
20 |
21 | NSString *name = NSStringFromProtocol(expected);
22 | return [NSString stringWithFormat:@"expected: %@ to conform to %@", actual, name];
23 | });
24 |
25 | failureMessageForNotTo(^NSString *{
26 | if(actualIsNil) return @"the object is nil/null";
27 | if(expectedIsNil) return @"the protocol is nil/null";
28 |
29 | NSString *name = NSStringFromProtocol(expected);
30 | return [NSString stringWithFormat:@"expected: %@ not to conform to %@", actual, name];
31 | });
32 | }
33 | EXPMatcherImplementationEnd
34 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_contain, (id expected));
4 | EXPMatcherInterface(contain, (id expected)); // to aid code completion
5 | #define contain(expected) _contain(EXPObjectify((expected)))
6 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+contain.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+contain.h"
2 |
3 | EXPMatcherImplementationBegin(_contain, (id expected)) {
4 | BOOL actualIsCompatible = [actual isKindOfClass:[NSString class]] || [actual conformsToProtocol:@protocol(NSFastEnumeration)];
5 | BOOL expectedIsNil = (expected == nil);
6 |
7 | prerequisite(^BOOL{
8 | return actualIsCompatible && !expectedIsNil;
9 | });
10 |
11 | match(^BOOL{
12 | if(actualIsCompatible) {
13 | if([actual isKindOfClass:[NSString class]]) {
14 | return [(NSString *)actual rangeOfString:[expected description]].location != NSNotFound;
15 | } else {
16 | for (id object in actual) {
17 | if ([object isEqual:expected]) {
18 | return YES;
19 | }
20 | }
21 | }
22 | }
23 | return NO;
24 | });
25 |
26 | failureMessageForTo(^NSString *{
27 | if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)];
28 | if(expectedIsNil) return @"the expected value is nil/null";
29 | return [NSString stringWithFormat:@"expected %@ to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
30 | });
31 |
32 | failureMessageForNotTo(^NSString *{
33 | if(!actualIsCompatible) return [NSString stringWithFormat:@"%@ is not an instance of NSString or NSFastEnumeration", EXPDescribeObject(actual)];
34 | if(expectedIsNil) return @"the expected value is nil/null";
35 | return [NSString stringWithFormat:@"expected %@ not to contain %@", EXPDescribeObject(actual), EXPDescribeObject(expected)];
36 | });
37 | }
38 | EXPMatcherImplementationEnd
39 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+endWith.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(endWith, (id expected));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+equal.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(_equal, (id expected));
4 | EXPMatcherInterface(equal, (id expected)); // to aid code completion
5 | #define equal(...) _equal(EXPObjectify((__VA_ARGS__)))
6 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+haveCountOf.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(haveCountOf, (NSUInteger expected));
4 | EXPMatcherInterface(haveCount, (NSUInteger expected));
5 | EXPMatcherInterface(haveACountOf, (NSUInteger expected));
6 | EXPMatcherInterface(haveLength, (NSUInteger expected));
7 | EXPMatcherInterface(haveLengthOf, (NSUInteger expected));
8 | EXPMatcherInterface(haveALengthOf, (NSUInteger expected));
9 |
10 | #define beEmpty() haveCountOf(0)
11 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+match.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(match, (NSString *expected));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+postNotification.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(postNotification, (id expectedNotification));
4 | EXPMatcherInterface(notify, (id expectedNotification));
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(raise, (NSString *expectedExceptionName));
4 | #define raiseAny() raise(nil)
5 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raise.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+raise.h"
2 | #import "EXPDefines.h"
3 |
4 | EXPMatcherImplementationBegin(raise, (NSString *expectedExceptionName)) {
5 | __block NSException *exceptionCaught = nil;
6 |
7 | match(^BOOL{
8 | BOOL expectedExceptionCaught = NO;
9 | @try {
10 | ((EXPBasicBlock)actual)();
11 | } @catch(NSException *e) {
12 | exceptionCaught = e;
13 | expectedExceptionCaught = (expectedExceptionName == nil) || [[exceptionCaught name] isEqualToString:expectedExceptionName];
14 | }
15 | return expectedExceptionCaught;
16 | });
17 |
18 | failureMessageForTo(^NSString *{
19 | return [NSString stringWithFormat:@"expected: %@, got: %@",
20 | expectedExceptionName ? expectedExceptionName : @"any exception",
21 | exceptionCaught ? [exceptionCaught name] : @"no exception"];
22 | });
23 |
24 | failureMessageForNotTo(^NSString *{
25 | return [NSString stringWithFormat:@"expected: %@, got: %@",
26 | expectedExceptionName ? [NSString stringWithFormat:@"not %@", expectedExceptionName] : @"no exception",
27 | exceptionCaught ? [exceptionCaught name] : @"no exception"];
28 | });
29 | }
30 | EXPMatcherImplementationEnd
31 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+raiseWithReason.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(raiseWithReason, (NSString *expectedExceptionName, NSString *expectedReason));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.h:
--------------------------------------------------------------------------------
1 | #import "Expecta.h"
2 |
3 | EXPMatcherInterface(respondTo, (SEL expected));
4 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers+respondTo.m:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+respondTo.h"
2 | #import "EXPMatcherHelpers.h"
3 |
4 | EXPMatcherImplementationBegin(respondTo, (SEL expected)) {
5 | BOOL actualIsNil = (actual == nil);
6 | BOOL expectedIsNull = (expected == NULL);
7 |
8 | prerequisite (^BOOL {
9 | return !(actualIsNil || expectedIsNull);
10 | });
11 |
12 | match(^BOOL {
13 | return [actual respondsToSelector:expected];
14 | });
15 |
16 | failureMessageForTo(^NSString *{
17 | if (actualIsNil) return @"the object is nil/null";
18 | if (expectedIsNull) return @"the selector is null";
19 | return [NSString stringWithFormat:@"expected: %@ to respond to %@", EXPDescribeObject(actual), NSStringFromSelector(expected)];
20 | });
21 |
22 | failureMessageForNotTo(^NSString *{
23 | if (actualIsNil) return @"the object is nil/null";
24 | if (expectedIsNull) return @"the selector is null";
25 | return [NSString stringWithFormat:@"expected: %@ not to respond to %@", EXPDescribeObject(actual), NSStringFromSelector(expected)];
26 | });
27 | }
28 | EXPMatcherImplementationEnd
29 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/Matchers/EXPMatchers.h:
--------------------------------------------------------------------------------
1 | #import "EXPMatchers+beNil.h"
2 | #import "EXPMatchers+equal.h"
3 | #import "EXPMatchers+beInstanceOf.h"
4 | #import "EXPMatchers+beKindOf.h"
5 | #import "EXPMatchers+beSubclassOf.h"
6 | #import "EXPMatchers+conformTo.h"
7 | #import "EXPMatchers+beTruthy.h"
8 | #import "EXPMatchers+beFalsy.h"
9 | #import "EXPMatchers+contain.h"
10 | #import "EXPMatchers+beSupersetOf.h"
11 | #import "EXPMatchers+haveCountOf.h"
12 | #import "EXPMatchers+beIdenticalTo.h"
13 | #import "EXPMatchers+beGreaterThan.h"
14 | #import "EXPMatchers+beGreaterThanOrEqualTo.h"
15 | #import "EXPMatchers+beLessThan.h"
16 | #import "EXPMatchers+beLessThanOrEqualTo.h"
17 | #import "EXPMatchers+beInTheRangeOf.h"
18 | #import "EXPMatchers+beCloseTo.h"
19 | #import "EXPMatchers+raise.h"
20 | #import "EXPMatchers+raiseWithReason.h"
21 | #import "EXPMatchers+respondTo.h"
22 | #import "EXPMatchers+postNotification.h"
23 | #import "EXPMatchers+beginWith.h"
24 | #import "EXPMatchers+endWith.h"
25 | #import "EXPMatchers+match.h"
26 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/NSObject+Expecta.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface NSObject (Expecta)
4 |
5 | - (void)recordFailureWithDescription:(NSString *)description
6 | inFile:(NSString *)filename
7 | atLine:(NSUInteger)lineNumber
8 | expected:(BOOL)expected;
9 |
10 | @end
11 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/NSValue+Expecta.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface NSValue (Expecta)
4 |
5 | @property (nonatomic) const char *_EXP_objCType;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/Expecta/NSValue+Expecta.m:
--------------------------------------------------------------------------------
1 | #import "NSValue+Expecta.h"
2 | #import
3 | #import "Expecta.h"
4 |
5 | EXPFixCategoriesBug(NSValue_Expecta);
6 |
7 | @implementation NSValue (Expecta)
8 |
9 | static char _EXP_typeKey;
10 |
11 | - (const char *)_EXP_objCType {
12 | return [(NSString *)objc_getAssociatedObject(self, &_EXP_typeKey) cStringUsingEncoding:NSASCIIStringEncoding];
13 | }
14 |
15 | - (void)set_EXP_objCType:(const char *)_EXP_objCType {
16 | objc_setAssociatedObject(self, &_EXP_typeKey,
17 | @(_EXP_objCType),
18 | OBJC_ASSOCIATION_COPY_NONATOMIC);
19 | }
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Example/Pods/Expecta/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011-2015 Specta Team - https://github.com/specta
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/Local Podspecs/AFNetworking3-RACExtensions.podspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "AFNetworking3-RACExtensions",
3 | "version": "0.1.0",
4 | "summary": "Add RAC support for AFNetworking 3.",
5 | "description": "TODO: Add long description of the pod here.",
6 | "homepage": "https://github.com/makeiteasy/AFNetworking3-RACExtensions",
7 | "license": {
8 | "type": "MIT",
9 | "file": "LICENSE"
10 | },
11 | "authors": {
12 | "MakeItEasy": "rugang6891@gmail.com"
13 | },
14 | "source": {
15 | "git": "https://github.com/makeiteasy/AFNetworking3-RACExtensions.git",
16 | "tag": "0.1.0"
17 | },
18 | "platforms": {
19 | "ios": "8.0"
20 | },
21 | "source_files": "AFNetworking3-RACExtensions/Classes/**/*",
22 | "subspecs": [
23 | {
24 | "name": "NSURLSession",
25 | "dependencies": {
26 | "AFNetworking/NSURLSession": [
27 | "~> 3.0"
28 | ],
29 | "ReactiveCocoa": [
30 | "~> 2.0"
31 | ]
32 | },
33 | "source_files": "AFNetworking3-RACExtensions/Classes/AFHTTPSessionManager+RACSupport.{h,m}"
34 | }
35 | ]
36 | }
37 |
--------------------------------------------------------------------------------
/Example/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - AFNetworking/NSURLSession (3.1.0):
3 | - AFNetworking/Reachability
4 | - AFNetworking/Security
5 | - AFNetworking/Serialization
6 | - AFNetworking/Reachability (3.1.0)
7 | - AFNetworking/Security (3.1.0)
8 | - AFNetworking/Serialization (3.1.0)
9 | - AFNetworking3-RACExtensions (0.1.0):
10 | - AFNetworking3-RACExtensions/NSURLSession (= 0.1.0)
11 | - AFNetworking3-RACExtensions/NSURLSession (0.1.0):
12 | - AFNetworking/NSURLSession (~> 3.0)
13 | - ReactiveCocoa (~> 2.0)
14 | - Expecta (1.0.5)
15 | - ReactiveCocoa (2.5):
16 | - ReactiveCocoa/UI (= 2.5)
17 | - ReactiveCocoa/Core (2.5):
18 | - ReactiveCocoa/no-arc
19 | - ReactiveCocoa/no-arc (2.5)
20 | - ReactiveCocoa/UI (2.5):
21 | - ReactiveCocoa/Core
22 | - Specta (1.0.5)
23 |
24 | DEPENDENCIES:
25 | - AFNetworking3-RACExtensions (from `../`)
26 | - Expecta
27 | - Specta
28 |
29 | EXTERNAL SOURCES:
30 | AFNetworking3-RACExtensions:
31 | :path: ../
32 |
33 | SPEC CHECKSUMS:
34 | AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67
35 | AFNetworking3-RACExtensions: 7e6bd04ef69a3783f6379c1dfa1ed28069caebe3
36 | Expecta: e1c022fcd33910b6be89c291d2775b3fe27a89fe
37 | ReactiveCocoa: e2db045570aa97c695e7aa97c2bcab222ae51f4a
38 | Specta: ac94d110b865115fe60ff2c6d7281053c6f8e8a2
39 |
40 | PODFILE CHECKSUM: 35185b3dd34f53f6d0484ef3f6d27d646593f756
41 |
42 | COCOAPODS: 1.1.1
43 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/LICENSE.md:
--------------------------------------------------------------------------------
1 | **Copyright (c) 2012 - 2015, GitHub, Inc.**
2 | **All rights reserved.**
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of
5 | this software and associated documentation files (the "Software"), to deal in
6 | the Software without restriction, including without limitation the rights to
7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 | the Software, and to permit persons to whom the Software is furnished to do so,
9 | subject to the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in all
12 | copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
16 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
17 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
18 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
19 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/MKAnnotationView+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // MKAnnotationView+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Zak Remer on 3/31/15.
6 | // Copyright (c) 2015 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @class RACSignal;
13 |
14 | @interface MKAnnotationView (RACSignalSupport)
15 |
16 | /// A signal which will send a RACUnit whenever -prepareForReuse is invoked upon
17 | /// the receiver.
18 | ///
19 | /// Examples
20 | ///
21 | /// [[[self.cancelButton
22 | /// rac_signalForControlEvents:UIControlEventTouchUpInside]
23 | /// takeUntil:self.rac_prepareForReuseSignal]
24 | /// subscribeNext:^(UIButton *x) {
25 | /// // do other things
26 | /// }];
27 | @property (nonatomic, strong, readonly) RACSignal *rac_prepareForReuseSignal;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/MKAnnotationView+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // MKAnnotationView+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Zak Remer on 3/31/15.
6 | // Copyright (c) 2015 GitHub. All rights reserved.
7 | //
8 |
9 | #import "MKAnnotationView+RACSignalSupport.h"
10 | #import "NSObject+RACDescription.h"
11 | #import "NSObject+RACSelectorSignal.h"
12 | #import "RACSignal+Operations.h"
13 | #import "RACUnit.h"
14 | #import
15 |
16 | @implementation MKAnnotationView (RACSignalSupport)
17 |
18 | - (RACSignal *)rac_prepareForReuseSignal {
19 | RACSignal *signal = objc_getAssociatedObject(self, _cmd);
20 | if (signal != nil) return signal;
21 |
22 | signal = [[[self
23 | rac_signalForSelector:@selector(prepareForReuse)]
24 | mapReplace:RACUnit.defaultUnit]
25 | setNameWithFormat:@"%@ -rac_prepareForReuseSignal", self.rac_description];
26 |
27 | objc_setAssociatedObject(self, _cmd, signal, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
28 | return signal;
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSArray+RACSequenceAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSArray+RACSequenceAdditions.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSequence;
12 |
13 | @interface NSArray (RACSequenceAdditions)
14 |
15 | /// Creates and returns a sequence corresponding to the receiver.
16 | ///
17 | /// Mutating the receiver will not affect the sequence after it's been created.
18 | @property (nonatomic, copy, readonly) RACSequence *rac_sequence;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSArray+RACSequenceAdditions.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSArray+RACSequenceAdditions.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "NSArray+RACSequenceAdditions.h"
10 | #import "RACArraySequence.h"
11 |
12 | @implementation NSArray (RACSequenceAdditions)
13 |
14 | - (RACSequence *)rac_sequence {
15 | return [RACArraySequence sequenceWithArray:self offset:0];
16 | }
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSData+RACSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSData+RACSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/11/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACScheduler;
12 | @class RACSignal;
13 |
14 | @interface NSData (RACSupport)
15 |
16 | // Read the data at the URL using -[NSData initWithContentsOfURL:options:error:].
17 | // Sends the data or the error.
18 | //
19 | // scheduler - cannot be nil.
20 | + (RACSignal *)rac_readContentsOfURL:(NSURL *)URL options:(NSDataReadingOptions)options scheduler:(RACScheduler *)scheduler;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSData+RACSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSData+RACSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/11/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "NSData+RACSupport.h"
10 | #import "RACReplaySubject.h"
11 | #import "RACScheduler.h"
12 |
13 | @implementation NSData (RACSupport)
14 |
15 | + (RACSignal *)rac_readContentsOfURL:(NSURL *)URL options:(NSDataReadingOptions)options scheduler:(RACScheduler *)scheduler {
16 | NSCParameterAssert(scheduler != nil);
17 |
18 | RACReplaySubject *subject = [RACReplaySubject subject];
19 | [subject setNameWithFormat:@"+rac_readContentsOfURL: %@ options: %lu scheduler: %@", URL, (unsigned long)options, scheduler];
20 |
21 | [scheduler schedule:^{
22 | NSError *error = nil;
23 | NSData *data = [[NSData alloc] initWithContentsOfURL:URL options:options error:&error];
24 | if (data == nil) {
25 | [subject sendError:error];
26 | } else {
27 | [subject sendNext:data];
28 | [subject sendCompleted];
29 | }
30 | }];
31 |
32 | return subject;
33 | }
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSDictionary+RACSequenceAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSDictionary+RACSequenceAdditions.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSequence;
12 |
13 | @interface NSDictionary (RACSequenceAdditions)
14 |
15 | /// Creates and returns a sequence of RACTuple key/value pairs. The key will be
16 | /// the first element in the tuple, and the value will be the second.
17 | ///
18 | /// Mutating the receiver will not affect the sequence after it's been created.
19 | @property (nonatomic, copy, readonly) RACSequence *rac_sequence;
20 |
21 | /// Creates and returns a sequence corresponding to the keys in the receiver.
22 | ///
23 | /// Mutating the receiver will not affect the sequence after it's been created.
24 | @property (nonatomic, copy, readonly) RACSequence *rac_keySequence;
25 |
26 | /// Creates and returns a sequence corresponding to the values in the receiver.
27 | ///
28 | /// Mutating the receiver will not affect the sequence after it's been created.
29 | @property (nonatomic, copy, readonly) RACSequence *rac_valueSequence;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSDictionary+RACSequenceAdditions.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSDictionary+RACSequenceAdditions.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "NSDictionary+RACSequenceAdditions.h"
10 | #import "NSArray+RACSequenceAdditions.h"
11 | #import "RACSequence.h"
12 | #import "RACTuple.h"
13 |
14 | @implementation NSDictionary (RACSequenceAdditions)
15 |
16 | - (RACSequence *)rac_sequence {
17 | NSDictionary *immutableDict = [self copy];
18 |
19 | // TODO: First class support for dictionary sequences.
20 | return [immutableDict.allKeys.rac_sequence map:^(id key) {
21 | id value = immutableDict[key];
22 | return RACTuplePack(key, value);
23 | }];
24 | }
25 |
26 | - (RACSequence *)rac_keySequence {
27 | return self.allKeys.rac_sequence;
28 | }
29 |
30 | - (RACSequence *)rac_valueSequence {
31 | return self.allValues.rac_sequence;
32 | }
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSEnumerator+RACSequenceAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSEnumerator+RACSequenceAdditions.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 07/01/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSequence;
12 |
13 | @interface NSEnumerator (RACSequenceAdditions)
14 |
15 | /// Creates and returns a sequence corresponding to the receiver.
16 | ///
17 | /// The receiver is exhausted lazily as the sequence is enumerated.
18 | @property (nonatomic, copy, readonly) RACSequence *rac_sequence;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSEnumerator+RACSequenceAdditions.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSEnumerator+RACSequenceAdditions.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 07/01/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "NSEnumerator+RACSequenceAdditions.h"
10 | #import "RACSequence.h"
11 |
12 | @implementation NSEnumerator (RACSequenceAdditions)
13 |
14 | - (RACSequence *)rac_sequence {
15 | return [RACSequence sequenceWithHeadBlock:^{
16 | return [self nextObject];
17 | } tailBlock:^{
18 | return self.rac_sequence;
19 | }];
20 | }
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSFileHandle+RACSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSFileHandle+RACSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/10/12.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | @interface NSFileHandle (RACSupport)
14 |
15 | // Read any available data in the background and send it. Completes when data
16 | // length is <= 0.
17 | - (RACSignal *)rac_readInBackground;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSFileHandle+RACSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSFileHandle+RACSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/10/12.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "NSFileHandle+RACSupport.h"
10 | #import "NSNotificationCenter+RACSupport.h"
11 | #import "NSObject+RACDescription.h"
12 | #import "RACReplaySubject.h"
13 | #import "RACDisposable.h"
14 |
15 | @implementation NSFileHandle (RACSupport)
16 |
17 | - (RACSignal *)rac_readInBackground {
18 | RACReplaySubject *subject = [RACReplaySubject subject];
19 | [subject setNameWithFormat:@"%@ -rac_readInBackground", self.rac_description];
20 |
21 | RACSignal *dataNotification = [[[NSNotificationCenter defaultCenter] rac_addObserverForName:NSFileHandleReadCompletionNotification object:self] map:^(NSNotification *note) {
22 | return note.userInfo[NSFileHandleNotificationDataItem];
23 | }];
24 |
25 | __block RACDisposable *subscription = [dataNotification subscribeNext:^(NSData *data) {
26 | if (data.length > 0) {
27 | [subject sendNext:data];
28 | [self readInBackgroundAndNotify];
29 | } else {
30 | [subject sendCompleted];
31 | [subscription dispose];
32 | }
33 | }];
34 |
35 | [self readInBackgroundAndNotify];
36 |
37 | return subject;
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSIndexSet+RACSequenceAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSIndexSet+RACSequenceAdditions.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Sergey Gavrilyuk on 12/17/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSequence;
12 |
13 | @interface NSIndexSet (RACSequenceAdditions)
14 |
15 | /// Creates and returns a sequence of indexes (as `NSNumber`s) corresponding to
16 | /// the receiver.
17 | ///
18 | /// Mutating the receiver will not affect the sequence after it's been created.
19 | @property (nonatomic, copy, readonly) RACSequence *rac_sequence;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSIndexSet+RACSequenceAdditions.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSIndexSet+RACSequenceAdditions.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Sergey Gavrilyuk on 12/17/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "NSIndexSet+RACSequenceAdditions.h"
10 | #import "RACIndexSetSequence.h"
11 |
12 | @implementation NSIndexSet (RACSequenceAdditions)
13 |
14 | - (RACSequence *)rac_sequence {
15 | return [RACIndexSetSequence sequenceWithIndexSet:self];
16 | }
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSNotificationCenter+RACSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSNotificationCenter+RACSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/10/12.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | @interface NSNotificationCenter (RACSupport)
14 |
15 | // Sends the NSNotification every time the notification is posted.
16 | - (RACSignal *)rac_addObserverForName:(NSString *)notificationName object:(id)object;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSNotificationCenter+RACSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSNotificationCenter+RACSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/10/12.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "NSNotificationCenter+RACSupport.h"
10 | #import "RACEXTScope.h"
11 | #import "RACSignal.h"
12 | #import "RACSubscriber.h"
13 | #import "RACDisposable.h"
14 |
15 | @implementation NSNotificationCenter (RACSupport)
16 |
17 | - (RACSignal *)rac_addObserverForName:(NSString *)notificationName object:(id)object {
18 | @unsafeify(object);
19 | return [[RACSignal createSignal:^(id subscriber) {
20 | @strongify(object);
21 | id observer = [self addObserverForName:notificationName object:object queue:nil usingBlock:^(NSNotification *note) {
22 | [subscriber sendNext:note];
23 | }];
24 |
25 | return [RACDisposable disposableWithBlock:^{
26 | [self removeObserver:observer];
27 | }];
28 | }] setNameWithFormat:@"-rac_addObserverForName: %@ object: <%@: %p>", notificationName, [object class], object];
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSObject+RACDeallocating.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSObject+RACDeallocating.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Kazuo Koga on 2013/03/15.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACCompoundDisposable;
12 | @class RACDisposable;
13 | @class RACSignal;
14 |
15 | @interface NSObject (RACDeallocating)
16 |
17 | /// The compound disposable which will be disposed of when the receiver is
18 | /// deallocated.
19 | @property (atomic, readonly, strong) RACCompoundDisposable *rac_deallocDisposable;
20 |
21 | /// Returns a signal that will complete immediately before the receiver is fully
22 | /// deallocated. If already deallocated when the signal is subscribed to,
23 | /// a `completed` event will be sent immediately.
24 | - (RACSignal *)rac_willDeallocSignal;
25 |
26 | @end
27 |
28 | @interface NSObject (RACDeallocatingDeprecated)
29 |
30 | - (RACSignal *)rac_didDeallocSignal __attribute__((deprecated("Use -rac_willDeallocSignal")));
31 |
32 | - (void)rac_addDeallocDisposable:(RACDisposable *)disposable __attribute__((deprecated("Add disposables to -rac_deallocDisposable instead")));
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSObject+RACDescription.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSObject+RACDescription.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-05-13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | // A private category providing a terser but faster alternative to -description.
12 | @interface NSObject (RACDescription)
13 |
14 | // A simplified description of the receiver, which does not invoke -description
15 | // (and thus should be much faster in many cases).
16 | //
17 | // This is for debugging purposes only, and will return a constant string
18 | // unless the RAC_DEBUG_SIGNAL_NAMES environment variable is set.
19 | - (NSString *)rac_description;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSObject+RACDescription.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSObject+RACDescription.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-05-13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "NSObject+RACDescription.h"
10 | #import "RACTuple.h"
11 |
12 | @implementation NSObject (RACDescription)
13 |
14 | - (NSString *)rac_description {
15 | if (getenv("RAC_DEBUG_SIGNAL_NAMES") != NULL) {
16 | return [[NSString alloc] initWithFormat:@"<%@: %p>", self.class, self];
17 | } else {
18 | return @"(description skipped)";
19 | }
20 | }
21 |
22 | @end
23 |
24 | @implementation NSValue (RACDescription)
25 |
26 | - (NSString *)rac_description {
27 | return self.description;
28 | }
29 |
30 | @end
31 |
32 | @implementation NSString (RACDescription)
33 |
34 | - (NSString *)rac_description {
35 | return self.description;
36 | }
37 |
38 | @end
39 |
40 | @implementation RACTuple (RACDescription)
41 |
42 | - (NSString *)rac_description {
43 | if (getenv("RAC_DEBUG_SIGNAL_NAMES") != NULL) {
44 | return self.allObjects.description;
45 | } else {
46 | return @"(description skipped)";
47 | }
48 | }
49 |
50 | @end
51 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSOrderedSet+RACSequenceAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSOrderedSet+RACSequenceAdditions.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSequence;
12 |
13 | @interface NSOrderedSet (RACSequenceAdditions)
14 |
15 | /// Creates and returns a sequence corresponding to the receiver.
16 | ///
17 | /// Mutating the receiver will not affect the sequence after it's been created.
18 | @property (nonatomic, copy, readonly) RACSequence *rac_sequence;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSOrderedSet+RACSequenceAdditions.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSOrderedSet+RACSequenceAdditions.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "NSOrderedSet+RACSequenceAdditions.h"
10 | #import "NSArray+RACSequenceAdditions.h"
11 |
12 | @implementation NSOrderedSet (RACSequenceAdditions)
13 |
14 | - (RACSequence *)rac_sequence {
15 | // TODO: First class support for ordered set sequences.
16 | return self.array.rac_sequence;
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSSet+RACSequenceAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSSet+RACSequenceAdditions.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSequence;
12 |
13 | @interface NSSet (RACSequenceAdditions)
14 |
15 | /// Creates and returns a sequence corresponding to the receiver.
16 | ///
17 | /// Mutating the receiver will not affect the sequence after it's been created.
18 | @property (nonatomic, copy, readonly) RACSequence *rac_sequence;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSSet+RACSequenceAdditions.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSSet+RACSequenceAdditions.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "NSSet+RACSequenceAdditions.h"
10 | #import "NSArray+RACSequenceAdditions.h"
11 |
12 | @implementation NSSet (RACSequenceAdditions)
13 |
14 | - (RACSequence *)rac_sequence {
15 | // TODO: First class support for set sequences.
16 | return self.allObjects.rac_sequence;
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSString+RACKeyPathUtilities.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+RACKeyPathUtilities.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 05/05/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | // A private category of methods to extract parts of a key path.
12 | @interface NSString (RACKeyPathUtilities)
13 |
14 | // Returns an array of the components of the receiver.
15 | //
16 | // Calling this method on a string that isn't a key path is considered undefined
17 | // behavior.
18 | - (NSArray *)rac_keyPathComponents;
19 |
20 | // Returns a key path with all the components of the receiver except for the
21 | // last one.
22 | //
23 | // Calling this method on a string that isn't a key path is considered undefined
24 | // behavior.
25 | - (NSString *)rac_keyPathByDeletingLastKeyPathComponent;
26 |
27 | // Returns a key path with all the components of the receiver expect for the
28 | // first one.
29 | //
30 | // Calling this method on a string that isn't a key path is considered undefined
31 | // behavior.
32 | - (NSString *)rac_keyPathByDeletingFirstKeyPathComponent;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSString+RACKeyPathUtilities.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+RACKeyPathUtilities.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 05/05/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "NSString+RACKeyPathUtilities.h"
10 |
11 | @implementation NSString (RACKeyPathUtilities)
12 |
13 | - (NSArray *)rac_keyPathComponents {
14 | if (self.length == 0) {
15 | return nil;
16 | }
17 | return [self componentsSeparatedByString:@"."];
18 | }
19 |
20 | - (NSString *)rac_keyPathByDeletingLastKeyPathComponent {
21 | NSUInteger lastDotIndex = [self rangeOfString:@"." options:NSBackwardsSearch].location;
22 | if (lastDotIndex == NSNotFound) {
23 | return nil;
24 | }
25 | return [self substringToIndex:lastDotIndex];
26 | }
27 |
28 | - (NSString *)rac_keyPathByDeletingFirstKeyPathComponent {
29 | NSUInteger firstDotIndex = [self rangeOfString:@"."].location;
30 | if (firstDotIndex == NSNotFound) {
31 | return nil;
32 | }
33 | return [self substringFromIndex:firstDotIndex + 1];
34 | }
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSString+RACSequenceAdditions.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+RACSequenceAdditions.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSequence;
12 |
13 | @interface NSString (RACSequenceAdditions)
14 |
15 | /// Creates and returns a sequence containing strings corresponding to each
16 | /// composed character sequence in the receiver.
17 | ///
18 | /// Mutating the receiver will not affect the sequence after it's been created.
19 | @property (nonatomic, copy, readonly) RACSequence *rac_sequence;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSString+RACSequenceAdditions.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+RACSequenceAdditions.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "NSString+RACSequenceAdditions.h"
10 | #import "RACStringSequence.h"
11 |
12 | @implementation NSString (RACSequenceAdditions)
13 |
14 | - (RACSequence *)rac_sequence {
15 | return [RACStringSequence sequenceWithString:self offset:0];
16 | }
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSString+RACSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+RACSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/11/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACScheduler;
12 | @class RACSignal;
13 |
14 | @interface NSString (RACSupport)
15 |
16 | // Reads in the contents of the file using +[NSString stringWithContentsOfURL:usedEncoding:error:].
17 | // Note that encoding won't be valid until the signal completes successfully.
18 | //
19 | // scheduler - cannot be nil.
20 | + (RACSignal *)rac_readContentsOfURL:(NSURL *)URL usedEncoding:(NSStringEncoding *)encoding scheduler:(RACScheduler *)scheduler;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSString+RACSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSString+RACSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/11/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "NSString+RACSupport.h"
10 | #import "RACReplaySubject.h"
11 | #import "RACScheduler.h"
12 |
13 | @implementation NSString (RACSupport)
14 |
15 | + (RACSignal *)rac_readContentsOfURL:(NSURL *)URL usedEncoding:(NSStringEncoding *)encoding scheduler:(RACScheduler *)scheduler {
16 | NSCParameterAssert(scheduler != nil);
17 |
18 | RACReplaySubject *subject = [RACReplaySubject subject];
19 | [subject setNameWithFormat:@"+rac_readContentsOfURL: %@ usedEncoding:scheduler: %@", URL, scheduler];
20 |
21 | [scheduler schedule:^{
22 | NSError *error = nil;
23 | NSString *string = [NSString stringWithContentsOfURL:URL usedEncoding:encoding error:&error];
24 | if (string == nil) {
25 | [subject sendError:error];
26 | } else {
27 | [subject sendNext:string];
28 | [subject sendCompleted];
29 | }
30 | }];
31 |
32 | return subject;
33 | }
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSURLConnection+RACSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSURLConnection+RACSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-10-01.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | @interface NSURLConnection (RACSupport)
14 |
15 | // Lazily loads data for the given request in the background.
16 | //
17 | // request - The URL request to load. This must not be nil.
18 | //
19 | // Returns a signal which will begin loading the request upon each subscription,
20 | // then send a `RACTuple` of the received `NSURLResponse` and downloaded
21 | // `NSData`, and complete on a background thread. If any errors occur, the
22 | // returned signal will error out.
23 | + (RACSignal *)rac_sendAsynchronousRequest:(NSURLRequest *)request;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSUserDefaults+RACSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSUserDefaults+RACSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Matt Diephouse on 12/19/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACChannelTerminal;
12 |
13 | @interface NSUserDefaults (RACSupport)
14 |
15 | /// Creates and returns a terminal for binding the user defaults key.
16 | ///
17 | /// **Note:** The value in the user defaults is *asynchronously* updated with
18 | /// values sent to the channel.
19 | ///
20 | /// key - The user defaults key to create the channel terminal for.
21 | ///
22 | /// Returns a channel terminal that sends the value of the user defaults key
23 | /// upon subscription, sends an updated value whenever the default changes, and
24 | /// updates the default asynchronously with values it receives.
25 | - (RACChannelTerminal *)rac_channelTerminalForKey:(NSString *)key;
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/NSUserDefaults+RACSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // NSUserDefaults+RACSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Matt Diephouse on 12/19/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "NSUserDefaults+RACSupport.h"
10 | #import "RACEXTScope.h"
11 | #import "NSNotificationCenter+RACSupport.h"
12 | #import "NSObject+RACDeallocating.h"
13 | #import "RACChannel.h"
14 | #import "RACScheduler.h"
15 | #import "RACSignal+Operations.h"
16 |
17 | @implementation NSUserDefaults (RACSupport)
18 |
19 | - (RACChannelTerminal *)rac_channelTerminalForKey:(NSString *)key {
20 | RACChannel *channel = [RACChannel new];
21 |
22 | RACScheduler *scheduler = [RACScheduler scheduler];
23 | __block BOOL ignoreNextValue = NO;
24 |
25 | @weakify(self);
26 | [[[[[[[NSNotificationCenter.defaultCenter
27 | rac_addObserverForName:NSUserDefaultsDidChangeNotification object:self]
28 | map:^(id _) {
29 | @strongify(self);
30 | return [self objectForKey:key];
31 | }]
32 | startWith:[self objectForKey:key]]
33 | // Don't send values that were set on the other side of the terminal.
34 | filter:^ BOOL (id _) {
35 | if (RACScheduler.currentScheduler == scheduler && ignoreNextValue) {
36 | ignoreNextValue = NO;
37 | return NO;
38 | }
39 | return YES;
40 | }]
41 | distinctUntilChanged]
42 | takeUntil:self.rac_willDeallocSignal]
43 | subscribe:channel.leadingTerminal];
44 |
45 | [[channel.leadingTerminal
46 | deliverOn:scheduler]
47 | subscribeNext:^(id value) {
48 | @strongify(self);
49 | ignoreNextValue = YES;
50 | [self setObject:value forKey:key];
51 | }];
52 |
53 | return channel.followingTerminal;
54 | }
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACArraySequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACArraySequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "RACSequence.h"
10 |
11 | // Private class that adapts an array to the RACSequence interface.
12 | @interface RACArraySequence : RACSequence
13 |
14 | // Returns a sequence for enumerating over the given array, starting from the
15 | // given offset. The array will be copied to prevent mutation.
16 | + (instancetype)sequenceWithArray:(NSArray *)array offset:(NSUInteger)offset;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACBehaviorSubject.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACBehaviorSubject.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/16/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSubject.h"
10 |
11 | /// A behavior subject sends the last value it received when it is subscribed to.
12 | @interface RACBehaviorSubject : RACSubject
13 |
14 | /// Creates a new behavior subject with a default value. If it hasn't received
15 | /// any values when it gets subscribed to, it sends the default value.
16 | + (instancetype)behaviorSubjectWithDefaultValue:(id)value;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACBehaviorSubject.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACBehaviorSubject.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/16/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACBehaviorSubject.h"
10 | #import "RACDisposable.h"
11 | #import "RACScheduler+Private.h"
12 |
13 | @interface RACBehaviorSubject ()
14 |
15 | // This property should only be used while synchronized on self.
16 | @property (nonatomic, strong) id currentValue;
17 |
18 | @end
19 |
20 | @implementation RACBehaviorSubject
21 |
22 | #pragma mark Lifecycle
23 |
24 | + (instancetype)behaviorSubjectWithDefaultValue:(id)value {
25 | RACBehaviorSubject *subject = [self subject];
26 | subject.currentValue = value;
27 | return subject;
28 | }
29 |
30 | #pragma mark RACSignal
31 |
32 | - (RACDisposable *)subscribe:(id)subscriber {
33 | RACDisposable *subscriptionDisposable = [super subscribe:subscriber];
34 |
35 | RACDisposable *schedulingDisposable = [RACScheduler.subscriptionScheduler schedule:^{
36 | @synchronized (self) {
37 | [subscriber sendNext:self.currentValue];
38 | }
39 | }];
40 |
41 | return [RACDisposable disposableWithBlock:^{
42 | [subscriptionDisposable dispose];
43 | [schedulingDisposable dispose];
44 | }];
45 | }
46 |
47 | #pragma mark RACSubscriber
48 |
49 | - (void)sendNext:(id)value {
50 | @synchronized (self) {
51 | self.currentValue = value;
52 | [super sendNext:value];
53 | }
54 | }
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACBlockTrampoline.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACBlockTrampoline.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 10/21/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACTuple;
12 |
13 | // A private class that allows a limited type of dynamic block invocation.
14 | @interface RACBlockTrampoline : NSObject
15 |
16 | // Invokes the given block with the given arguments. All of the block's
17 | // argument types must be objects and it must be typed to return an object.
18 | //
19 | // At this time, it only supports blocks that take up to 15 arguments. Any more
20 | // is just cray.
21 | //
22 | // block - The block to invoke. Must accept as many arguments as are given in
23 | // the arguments array. Cannot be nil.
24 | // arguments - The arguments with which to invoke the block. `RACTupleNil`s will
25 | // be passed as nils.
26 | //
27 | // Returns the return value of invoking the block.
28 | + (id)invokeBlock:(id)block withArguments:(RACTuple *)arguments;
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACCompoundDisposableProvider.d:
--------------------------------------------------------------------------------
1 | provider RACCompoundDisposable {
2 | probe added(char *compoundDisposable, char *disposable, long newTotal);
3 | probe removed(char *compoundDisposable, char *disposable, long newTotal);
4 | };
5 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACDelegateProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACDelegateProxy.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Cody Krieger on 5/19/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | // A private delegate object suitable for using
14 | // -rac_signalForSelector:fromProtocol: upon.
15 | @interface RACDelegateProxy : NSObject
16 |
17 | // The delegate to which messages should be forwarded if not handled by
18 | // any -signalForSelector: applications.
19 | @property (nonatomic, unsafe_unretained) id rac_proxiedDelegate;
20 |
21 | // Creates a delegate proxy capable of responding to selectors from `protocol`.
22 | - (instancetype)initWithProtocol:(Protocol *)protocol;
23 |
24 | // Calls -rac_signalForSelector:fromProtocol: using the `protocol` specified
25 | // during initialization.
26 | - (RACSignal *)signalForSelector:(SEL)selector;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACDisposable.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACDisposable.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/16/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACScopedDisposable;
12 |
13 | /// A disposable encapsulates the work necessary to tear down and cleanup a
14 | /// subscription.
15 | @interface RACDisposable : NSObject
16 |
17 | /// Whether the receiver has been disposed.
18 | ///
19 | /// Use of this property is discouraged, since it may be set to `YES`
20 | /// concurrently at any time.
21 | ///
22 | /// This property is not KVO-compliant.
23 | @property (atomic, assign, getter = isDisposed, readonly) BOOL disposed;
24 |
25 | + (instancetype)disposableWithBlock:(void (^)(void))block;
26 |
27 | /// Performs the disposal work. Can be called multiple times, though subsequent
28 | /// calls won't do anything.
29 | - (void)dispose;
30 |
31 | /// Returns a new disposable which will dispose of this disposable when it gets
32 | /// dealloc'd.
33 | - (RACScopedDisposable *)asScopedDisposable;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACDynamicSequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACDynamicSequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "RACSequence.h"
10 |
11 | // Private class that implements a sequence dynamically using blocks.
12 | @interface RACDynamicSequence : RACSequence
13 |
14 | // Returns a sequence which evaluates `dependencyBlock` only once, the first
15 | // time either `headBlock` or `tailBlock` is evaluated. The result of
16 | // `dependencyBlock` will be passed into `headBlock` and `tailBlock` when
17 | // invoked.
18 | + (RACSequence *)sequenceWithLazyDependency:(id (^)(void))dependencyBlock headBlock:(id (^)(id dependency))headBlock tailBlock:(RACSequence *(^)(id dependency))tailBlock;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACDynamicSignal.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACDynamicSignal.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-10-10.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSignal.h"
10 |
11 | // A private `RACSignal` subclasses that implements its subscription behavior
12 | // using a block.
13 | @interface RACDynamicSignal : RACSignal
14 |
15 | + (RACSignal *)createSignal:(RACDisposable * (^)(id subscriber))didSubscribe;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACEagerSequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACEagerSequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 02/01/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACArraySequence.h"
10 |
11 | // Private class that implements an eager sequence.
12 | @interface RACEagerSequence : RACArraySequence
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACEmptySequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACEmptySequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "RACSequence.h"
10 |
11 | // Private class representing an empty sequence.
12 | @interface RACEmptySequence : RACSequence
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACEmptySequence.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACEmptySequence.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "RACEmptySequence.h"
10 |
11 | @implementation RACEmptySequence
12 |
13 | #pragma mark Lifecycle
14 |
15 | + (instancetype)empty {
16 | static id singleton;
17 | static dispatch_once_t pred;
18 |
19 | dispatch_once(&pred, ^{
20 | singleton = [[self alloc] init];
21 | });
22 |
23 | return singleton;
24 | }
25 |
26 | #pragma mark RACSequence
27 |
28 | - (id)head {
29 | return nil;
30 | }
31 |
32 | - (RACSequence *)tail {
33 | return nil;
34 | }
35 |
36 | - (RACSequence *)bind:(RACStreamBindBlock)bindBlock passingThroughValuesFromSequence:(RACSequence *)passthroughSequence {
37 | return passthroughSequence ?: self;
38 | }
39 |
40 | #pragma mark NSCoding
41 |
42 | - (Class)classForCoder {
43 | // Empty sequences should be encoded as themselves, not array sequences.
44 | return self.class;
45 | }
46 |
47 | - (id)initWithCoder:(NSCoder *)coder {
48 | // Return the singleton.
49 | return self.class.empty;
50 | }
51 |
52 | - (void)encodeWithCoder:(NSCoder *)coder {
53 | }
54 |
55 | #pragma mark NSObject
56 |
57 | - (NSString *)description {
58 | return [NSString stringWithFormat:@"<%@: %p>{ name = %@ }", self.class, self, self.name];
59 | }
60 |
61 | - (NSUInteger)hash {
62 | // This hash isn't ideal, but it's better than -[RACSequence hash], which
63 | // would just be zero because we have no head.
64 | return (NSUInteger)(__bridge void *)self;
65 | }
66 |
67 | - (BOOL)isEqual:(RACSequence *)seq {
68 | return (self == seq);
69 | }
70 |
71 | @end
72 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACEmptySignal.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACEmptySignal.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-10-10.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSignal.h"
10 |
11 | // A private `RACSignal` subclasses that synchronously sends completed to any
12 | // subscribers.
13 | @interface RACEmptySignal : RACSignal
14 |
15 | + (RACSignal *)empty;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACEmptySignal.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACEmptySignal.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-10-10.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACEmptySignal.h"
10 | #import "RACScheduler+Private.h"
11 | #import "RACSubscriber.h"
12 |
13 | @implementation RACEmptySignal
14 |
15 | #pragma mark Properties
16 |
17 | // Only allow this signal's name to be customized in DEBUG, since it's
18 | // a singleton in release builds (see +empty).
19 | - (void)setName:(NSString *)name {
20 | #ifdef DEBUG
21 | [super setName:name];
22 | #endif
23 | }
24 |
25 | - (NSString *)name {
26 | #ifdef DEBUG
27 | return super.name;
28 | #else
29 | return @"+empty";
30 | #endif
31 | }
32 |
33 | #pragma mark Lifecycle
34 |
35 | + (RACSignal *)empty {
36 | #ifdef DEBUG
37 | // Create multiple instances of this class in DEBUG so users can set custom
38 | // names on each.
39 | return [[[self alloc] init] setNameWithFormat:@"+empty"];
40 | #else
41 | static id singleton;
42 | static dispatch_once_t pred;
43 |
44 | dispatch_once(&pred, ^{
45 | singleton = [[self alloc] init];
46 | });
47 |
48 | return singleton;
49 | #endif
50 | }
51 |
52 | #pragma mark Subscription
53 |
54 | - (RACDisposable *)subscribe:(id)subscriber {
55 | NSCParameterAssert(subscriber != nil);
56 |
57 | return [RACScheduler.subscriptionScheduler schedule:^{
58 | [subscriber sendCompleted];
59 | }];
60 | }
61 |
62 | @end
63 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACErrorSignal.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACErrorSignal.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-10-10.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSignal.h"
10 |
11 | // A private `RACSignal` subclasses that synchronously sends an error to any
12 | // subscribers.
13 | @interface RACErrorSignal : RACSignal
14 |
15 | + (RACSignal *)error:(NSError *)error;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACErrorSignal.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACErrorSignal.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-10-10.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACErrorSignal.h"
10 | #import "RACScheduler+Private.h"
11 | #import "RACSubscriber.h"
12 |
13 | @interface RACErrorSignal ()
14 |
15 | // The error to send upon subscription.
16 | @property (nonatomic, strong, readonly) NSError *error;
17 |
18 | @end
19 |
20 | @implementation RACErrorSignal
21 |
22 | #pragma mark Lifecycle
23 |
24 | + (RACSignal *)error:(NSError *)error {
25 | RACErrorSignal *signal = [[self alloc] init];
26 | signal->_error = error;
27 |
28 | #ifdef DEBUG
29 | [signal setNameWithFormat:@"+error: %@", error];
30 | #else
31 | signal.name = @"+error:";
32 | #endif
33 |
34 | return signal;
35 | }
36 |
37 | #pragma mark Subscription
38 |
39 | - (RACDisposable *)subscribe:(id)subscriber {
40 | NSCParameterAssert(subscriber != nil);
41 |
42 | return [RACScheduler.subscriptionScheduler schedule:^{
43 | [subscriber sendError:self.error];
44 | }];
45 | }
46 |
47 | @end
48 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACGroupedSignal.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACGroupedSignal.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/2/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSubject.h"
10 |
11 | /// A grouped signal is used by -[RACSignal groupBy:transform:].
12 | @interface RACGroupedSignal : RACSubject
13 |
14 | /// The key shared by the group.
15 | @property (nonatomic, readonly, copy) id key;
16 |
17 | + (instancetype)signalWithKey:(id)key;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACGroupedSignal.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACGroupedSignal.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 5/2/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACGroupedSignal.h"
10 |
11 | @interface RACGroupedSignal ()
12 | @property (nonatomic, copy) id key;
13 | @end
14 |
15 | @implementation RACGroupedSignal
16 |
17 | #pragma mark API
18 |
19 | + (instancetype)signalWithKey:(id)key {
20 | RACGroupedSignal *subject = [self subject];
21 | subject.key = key;
22 | return subject;
23 | }
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACImmediateScheduler.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACImmediateScheduler.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 11/30/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACScheduler.h"
10 |
11 | // A private scheduler which immediately executes its scheduled blocks.
12 | @interface RACImmediateScheduler : RACScheduler
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACImmediateScheduler.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACImmediateScheduler.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 11/30/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACImmediateScheduler.h"
10 | #import "RACScheduler+Private.h"
11 |
12 | @implementation RACImmediateScheduler
13 |
14 | #pragma mark Lifecycle
15 |
16 | - (id)init {
17 | return [super initWithName:@"com.ReactiveCocoa.RACScheduler.immediateScheduler"];
18 | }
19 |
20 | #pragma mark RACScheduler
21 |
22 | - (RACDisposable *)schedule:(void (^)(void))block {
23 | NSCParameterAssert(block != NULL);
24 |
25 | block();
26 | return nil;
27 | }
28 |
29 | - (RACDisposable *)after:(NSDate *)date schedule:(void (^)(void))block {
30 | NSCParameterAssert(date != nil);
31 | NSCParameterAssert(block != NULL);
32 |
33 | [NSThread sleepUntilDate:date];
34 | block();
35 |
36 | return nil;
37 | }
38 |
39 | - (RACDisposable *)after:(NSDate *)date repeatingEvery:(NSTimeInterval)interval withLeeway:(NSTimeInterval)leeway schedule:(void (^)(void))block {
40 | NSCAssert(NO, @"+[RACScheduler immediateScheduler] does not support %@.", NSStringFromSelector(_cmd));
41 | return nil;
42 | }
43 |
44 | - (RACDisposable *)scheduleRecursiveBlock:(RACSchedulerRecursiveBlock)recursiveBlock {
45 | for (__block NSUInteger remaining = 1; remaining > 0; remaining--) {
46 | recursiveBlock(^{
47 | remaining++;
48 | });
49 | }
50 |
51 | return nil;
52 | }
53 |
54 | @end
55 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACIndexSetSequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACIndexSetSequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Sergey Gavrilyuk on 12/18/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSequence.h"
10 |
11 | // Private class that adapts an array to the RACSequence interface.
12 | @interface RACIndexSetSequence : RACSequence
13 |
14 | + (instancetype)sequenceWithIndexSet:(NSIndexSet *)indexSet;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACKVOProxy.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACKVOProxy.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Richard Speyer on 4/10/14.
6 | // Copyright (c) 2014 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /// A singleton that can act as a proxy between a KVO observation and a RAC
12 | /// subscriber, in order to protect against KVO lifetime issues.
13 | @interface RACKVOProxy : NSObject
14 |
15 | /// Returns the singleton KVO proxy object.
16 | + (instancetype)sharedProxy;
17 |
18 | /// Registers an observer with the proxy, such that when the proxy receives a
19 | /// KVO change with the given context, it forwards it to the observer.
20 | ///
21 | /// observer - True observer of the KVO change. Must not be nil.
22 | /// context - Arbitrary context object used to differentiate multiple
23 | /// observations of the same keypath. Must be unique, cannot be nil.
24 | - (void)addObserver:(__weak NSObject *)observer forContext:(void *)context;
25 |
26 | /// Removes an observer from the proxy. Parameters must match those passed to
27 | /// addObserver:forContext:.
28 | ///
29 | /// observer - True observer of the KVO change. Must not be nil.
30 | /// context - Arbitrary context object used to differentiate multiple
31 | /// observations of the same keypath. Must be unique, cannot be nil.
32 | - (void)removeObserver:(NSObject *)observer forContext:(void *)context;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACKVOTrampoline.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACKVOTrampoline.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 1/15/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "NSObject+RACKVOWrapper.h"
11 | #import "RACDisposable.h"
12 |
13 | // A private trampoline object that represents a KVO observation.
14 | //
15 | // Disposing of the trampoline will stop observation.
16 | @interface RACKVOTrampoline : RACDisposable
17 |
18 | // Initializes the receiver with the given parameters.
19 | //
20 | // target - The object whose key path should be observed. Cannot be nil.
21 | // observer - The object that gets notified when the value at the key path
22 | // changes. Can be nil.
23 | // keyPath - The key path on `target` to observe. Cannot be nil.
24 | // options - Any key value observing options to use in the observation.
25 | // block - The block to call when the value at the observed key path changes.
26 | // Cannot be nil.
27 | //
28 | // Returns the initialized object.
29 | - (id)initWithTarget:(__weak NSObject *)target observer:(__weak NSObject *)observer keyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options block:(RACKVOBlock)block;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACMulticastConnection+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACMulticastConnection+Private.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 4/11/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACMulticastConnection.h"
10 |
11 | @class RACSubject;
12 |
13 | @interface RACMulticastConnection ()
14 |
15 | - (id)initWithSourceSignal:(RACSignal *)source subject:(RACSubject *)subject;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACObjCRuntime.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACObjCRuntime.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Cody Krieger on 5/19/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | // A private class containing wrappers to runtime functions.
12 | @interface RACObjCRuntime : NSObject
13 |
14 | // Invokes objc_allocateClassPair(). Can be called from ARC code.
15 | + (Class)createClass:(const char *)className inheritingFromClass:(Class)superclass;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACObjCRuntime.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACObjCRuntime.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Cody Krieger on 5/19/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACObjCRuntime.h"
10 | #import
11 |
12 | #if __has_feature(objc_arc)
13 | #error "This file must be compiled without ARC."
14 | #endif
15 |
16 | @implementation RACObjCRuntime
17 |
18 | + (Class)createClass:(const char *)className inheritingFromClass:(Class)superclass {
19 | return objc_allocateClassPair(superclass, className, 0);
20 | }
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACPassthroughSubscriber.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACPassthroughSubscriber.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-06-13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "RACSubscriber.h"
11 |
12 | @class RACCompoundDisposable;
13 | @class RACSignal;
14 |
15 | // A private subscriber that passes through all events to another subscriber
16 | // while not disposed.
17 | @interface RACPassthroughSubscriber : NSObject
18 |
19 | // Initializes the receiver to pass through events until disposed.
20 | //
21 | // subscriber - The subscriber to forward events to. This must not be nil.
22 | // signal - The signal that will be sending events to the receiver.
23 | // disposable - When this disposable is disposed, no more events will be
24 | // forwarded. This must not be nil.
25 | //
26 | // Returns an initialized passthrough subscriber.
27 | - (instancetype)initWithSubscriber:(id)subscriber signal:(RACSignal *)signal disposable:(RACCompoundDisposable *)disposable;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACQueueScheduler+Subclass.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACQueueScheduler+Subclass.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 6/6/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACQueueScheduler.h"
10 | #import "RACScheduler+Subclass.h"
11 |
12 | /// An interface for use by GCD queue-based subclasses.
13 | ///
14 | /// See RACScheduler+Subclass.h for subclassing notes.
15 | @interface RACQueueScheduler ()
16 |
17 | /// The queue on which blocks are enqueued.
18 | #if OS_OBJECT_HAVE_OBJC_SUPPORT
19 | @property (nonatomic, strong, readonly) dispatch_queue_t queue;
20 | #else
21 | // Swift builds with OS_OBJECT_HAVE_OBJC_SUPPORT=0 for Playgrounds and LLDB :(
22 | @property (nonatomic, assign, readonly) dispatch_queue_t queue;
23 | #endif
24 |
25 | /// Initializes the receiver with the name of the scheduler and the queue which
26 | /// the scheduler should use.
27 | ///
28 | /// name - The name of the scheduler. If nil, a default name will be used.
29 | /// queue - The queue upon which the receiver should enqueue scheduled blocks.
30 | /// This argument must not be NULL.
31 | ///
32 | /// Returns the initialized object.
33 | - (id)initWithName:(NSString *)name queue:(dispatch_queue_t)queue;
34 |
35 | /// Converts a date into a GCD time using dispatch_walltime().
36 | ///
37 | /// date - The date to convert. This must not be nil.
38 | + (dispatch_time_t)wallTimeWithDate:(NSDate *)date;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACQueueScheduler.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACQueueScheduler.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 11/30/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACScheduler.h"
10 |
11 | /// An abstract scheduler which asynchronously enqueues all its work to a Grand
12 | /// Central Dispatch queue.
13 | ///
14 | /// Because RACQueueScheduler is abstract, it should not be instantiated
15 | /// directly. Create a subclass using the `RACQueueScheduler+Subclass.h`
16 | /// interface and use that instead.
17 | @interface RACQueueScheduler : RACScheduler
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACReplaySubject.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACReplaySubject.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/14/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSubject.h"
10 |
11 | extern const NSUInteger RACReplaySubjectUnlimitedCapacity;
12 |
13 | /// A replay subject saves the values it is sent (up to its defined capacity)
14 | /// and resends those to new subscribers. It will also replay an error or
15 | /// completion.
16 | @interface RACReplaySubject : RACSubject
17 |
18 | /// Creates a new replay subject with the given capacity. A capacity of
19 | /// RACReplaySubjectUnlimitedCapacity means values are never trimmed.
20 | + (instancetype)replaySubjectWithCapacity:(NSUInteger)capacity;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACReturnSignal.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACReturnSignal.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-10-10.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSignal.h"
10 |
11 | // A private `RACSignal` subclasses that synchronously sends a value to any
12 | // subscribers, then completes.
13 | @interface RACReturnSignal : RACSignal
14 |
15 | + (RACSignal *)return:(id)value;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACScheduler+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACScheduler+Private.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 11/29/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACScheduler.h"
10 |
11 | // The thread-specific current scheduler key.
12 | extern NSString * const RACSchedulerCurrentSchedulerKey;
13 |
14 | // A private interface for internal RAC use only.
15 | @interface RACScheduler ()
16 |
17 | // A dedicated scheduler that fills two requirements:
18 | //
19 | // 1. By the time subscription happens, we need a valid +currentScheduler.
20 | // 2. Subscription should happen as soon as possible.
21 | //
22 | // To fulfill those two, if we already have a valid +currentScheduler, it
23 | // immediately executes scheduled blocks. If we don't, it will execute scheduled
24 | // blocks with a private background scheduler.
25 | + (instancetype)subscriptionScheduler;
26 |
27 | // Initializes the receiver with the given name.
28 | //
29 | // name - The name of the scheduler. If nil, a default name will be used.
30 | //
31 | // Returns the initialized object.
32 | - (id)initWithName:(NSString *)name;
33 |
34 | @end
35 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACScheduler+Subclass.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACScheduler.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Miķelis Vindavs on 5/27/14.
6 | // Copyright (c) 2014 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "RACScheduler.h"
11 |
12 | /// An interface for use by subclasses.
13 | ///
14 | /// Subclasses should use `-performAsCurrentScheduler:` to do the actual block
15 | /// invocation so that +[RACScheduler currentScheduler] behaves as expected.
16 | ///
17 | /// **Note that RACSchedulers are expected to be serial**. Subclasses must honor
18 | /// that contract. See `RACTargetQueueScheduler` for a queue-based scheduler
19 | /// which will enforce the serialization guarantee.
20 | @interface RACScheduler ()
21 |
22 | /// Performs the given block with the receiver as the current scheduler for
23 | /// its thread. This should only be called by subclasses to perform their
24 | /// scheduled blocks.
25 | ///
26 | /// block - The block to execute. Cannot be NULL.
27 | - (void)performAsCurrentScheduler:(void (^)(void))block;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACScopedDisposable.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACScopedDisposable.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/28/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACDisposable.h"
10 |
11 | /// A disposable that calls its own -dispose when it is dealloc'd.
12 | @interface RACScopedDisposable : RACDisposable
13 |
14 | /// Creates a new scoped disposable that will also dispose of the given
15 | /// disposable when it is dealloc'd.
16 | + (instancetype)scopedDisposableWithDisposable:(RACDisposable *)disposable;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACScopedDisposable.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACScopedDisposable.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/28/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACScopedDisposable.h"
10 |
11 | @implementation RACScopedDisposable
12 |
13 | #pragma mark Lifecycle
14 |
15 | + (instancetype)scopedDisposableWithDisposable:(RACDisposable *)disposable {
16 | return [self disposableWithBlock:^{
17 | [disposable dispose];
18 | }];
19 | }
20 |
21 | - (void)dealloc {
22 | [self dispose];
23 | }
24 |
25 | #pragma mark RACDisposable
26 |
27 | - (RACScopedDisposable *)asScopedDisposable {
28 | // totally already are
29 | return self;
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACSignalProvider.d:
--------------------------------------------------------------------------------
1 | provider RACSignal {
2 | probe next(char *signal, char *subscriber, char *valueDescription);
3 | probe completed(char *signal, char *subscriber);
4 | probe error(char *signal, char *subscriber, char *errorDescription);
5 | };
6 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACSignalSequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACSignalSequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-11-09.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSequence.h"
10 |
11 | @class RACSignal;
12 |
13 | // Private class that adapts a RACSignal to the RACSequence interface.
14 | @interface RACSignalSequence : RACSequence
15 |
16 | // Returns a sequence for enumerating over the given signal.
17 | + (RACSequence *)sequenceWithSignal:(RACSignal *)signal;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACStream+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACStream+Private.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-07-22.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACStream.h"
10 |
11 | @interface RACStream ()
12 |
13 | // Combines a list of streams using the logic of the given block.
14 | //
15 | // streams - The streams to combine.
16 | // block - An operator that combines two streams and returns a new one. The
17 | // returned stream should contain 2-tuples of the streams' combined
18 | // values.
19 | //
20 | // Returns a combined stream.
21 | + (instancetype)join:(id)streams block:(RACStream * (^)(id, id))block;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACStringSequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACStringSequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2012-10-29.
6 | // Copyright (c) 2012 GitHub. All rights reserved.
7 | //
8 |
9 | #import "RACSequence.h"
10 |
11 | // Private class that adapts a string to the RACSequence interface.
12 | @interface RACStringSequence : RACSequence
13 |
14 | // Returns a sequence for enumerating over the given string, starting from the
15 | // given character offset. The string will be copied to prevent mutation.
16 | + (RACSequence *)sequenceWithString:(NSString *)string offset:(NSUInteger)offset;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACSubject.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACSubject.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/9/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSignal.h"
10 | #import "RACSubscriber.h"
11 |
12 | /// A subject can be thought of as a signal that you can manually control by
13 | /// sending next, completed, and error.
14 | ///
15 | /// They're most helpful in bridging the non-RAC world to RAC, since they let you
16 | /// manually control the sending of events.
17 | @interface RACSubject : RACSignal
18 |
19 | /// Returns a new subject.
20 | + (instancetype)subject;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACSubscriber+Private.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACSubscriber+Private.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-06-13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSubscriber.h"
10 |
11 | // A simple block-based subscriber.
12 | @interface RACSubscriber : NSObject
13 |
14 | // Creates a new subscriber with the given blocks.
15 | + (instancetype)subscriberWithNext:(void (^)(id x))next error:(void (^)(NSError *error))error completed:(void (^)(void))completed;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACSubscriptingAssignmentTrampoline.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACSubscriptingAssignmentTrampoline.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 9/24/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSubscriptingAssignmentTrampoline.h"
10 | #import "RACSignal+Operations.h"
11 |
12 | @interface RACSubscriptingAssignmentTrampoline ()
13 |
14 | // The object to bind to.
15 | @property (nonatomic, strong, readonly) id target;
16 |
17 | // A value to use when `nil` is sent on the bound signal.
18 | @property (nonatomic, strong, readonly) id nilValue;
19 |
20 | @end
21 |
22 | @implementation RACSubscriptingAssignmentTrampoline
23 |
24 | - (id)initWithTarget:(id)target nilValue:(id)nilValue {
25 | // This is often a programmer error, but this prevents crashes if the target
26 | // object has unexpectedly deallocated.
27 | if (target == nil) return nil;
28 |
29 | self = [super init];
30 | if (self == nil) return nil;
31 |
32 | _target = target;
33 | _nilValue = nilValue;
34 |
35 | return self;
36 | }
37 |
38 | - (void)setObject:(RACSignal *)signal forKeyedSubscript:(NSString *)keyPath {
39 | [signal setKeyPath:keyPath onObject:self.target nilValue:self.nilValue];
40 | }
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACSubscriptionScheduler.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACSubscriptionScheduler.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 11/30/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACScheduler.h"
10 |
11 | // A private scheduler used only for subscriptions. See the private
12 | // +[RACScheduler subscriptionScheduler] method for more information.
13 | @interface RACSubscriptionScheduler : RACScheduler
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACSubscriptionScheduler.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACSubscriptionScheduler.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 11/30/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSubscriptionScheduler.h"
10 | #import "RACScheduler+Private.h"
11 |
12 | @interface RACSubscriptionScheduler ()
13 |
14 | // A private background scheduler on which to subscribe if the +currentScheduler
15 | // is unknown.
16 | @property (nonatomic, strong, readonly) RACScheduler *backgroundScheduler;
17 |
18 | @end
19 |
20 | @implementation RACSubscriptionScheduler
21 |
22 | #pragma mark Lifecycle
23 |
24 | - (id)init {
25 | self = [super initWithName:@"com.ReactiveCocoa.RACScheduler.subscriptionScheduler"];
26 | if (self == nil) return nil;
27 |
28 | _backgroundScheduler = [RACScheduler scheduler];
29 |
30 | return self;
31 | }
32 |
33 | #pragma mark RACScheduler
34 |
35 | - (RACDisposable *)schedule:(void (^)(void))block {
36 | NSCParameterAssert(block != NULL);
37 |
38 | if (RACScheduler.currentScheduler == nil) return [self.backgroundScheduler schedule:block];
39 |
40 | block();
41 | return nil;
42 | }
43 |
44 | - (RACDisposable *)after:(NSDate *)date schedule:(void (^)(void))block {
45 | RACScheduler *scheduler = RACScheduler.currentScheduler ?: self.backgroundScheduler;
46 | return [scheduler after:date schedule:block];
47 | }
48 |
49 | - (RACDisposable *)after:(NSDate *)date repeatingEvery:(NSTimeInterval)interval withLeeway:(NSTimeInterval)leeway schedule:(void (^)(void))block {
50 | RACScheduler *scheduler = RACScheduler.currentScheduler ?: self.backgroundScheduler;
51 | return [scheduler after:date repeatingEvery:interval withLeeway:leeway schedule:block];
52 | }
53 |
54 | @end
55 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACTargetQueueScheduler.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACTargetQueueScheduler.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 6/6/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACQueueScheduler.h"
10 |
11 | /// A scheduler that enqueues blocks on a private serial queue, targeting an
12 | /// arbitrary GCD queue.
13 | @interface RACTargetQueueScheduler : RACQueueScheduler
14 |
15 | /// Initializes the receiver with a serial queue that will target the given
16 | /// `targetQueue`.
17 | ///
18 | /// name - The name of the scheduler. If nil, a default name will be used.
19 | /// targetQueue - The queue to target. Cannot be NULL.
20 | ///
21 | /// Returns the initialized object.
22 | - (id)initWithName:(NSString *)name targetQueue:(dispatch_queue_t)targetQueue;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACTargetQueueScheduler.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACTargetQueueScheduler.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 6/6/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACTargetQueueScheduler.h"
10 | #import "RACQueueScheduler+Subclass.h"
11 |
12 | @implementation RACTargetQueueScheduler
13 |
14 | #pragma mark Lifecycle
15 |
16 | - (id)initWithName:(NSString *)name targetQueue:(dispatch_queue_t)targetQueue {
17 | NSCParameterAssert(targetQueue != NULL);
18 |
19 | if (name == nil) {
20 | name = [NSString stringWithFormat:@"com.ReactiveCocoa.RACTargetQueueScheduler(%s)", dispatch_queue_get_label(targetQueue)];
21 | }
22 |
23 | dispatch_queue_t queue = dispatch_queue_create(name.UTF8String, DISPATCH_QUEUE_SERIAL);
24 | if (queue == NULL) return nil;
25 |
26 | dispatch_set_target_queue(queue, targetQueue);
27 |
28 | return [super initWithName:name queue:queue];
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACTestScheduler.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACTestScheduler.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-07-06.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACScheduler.h"
10 |
11 | /// A special kind of scheduler that steps through virtualized time.
12 | ///
13 | /// This scheduler class can be used in unit tests to verify asynchronous
14 | /// behaviors without spending significant time waiting.
15 | ///
16 | /// This class can be used from multiple threads, but only one thread can `step`
17 | /// through the enqueued actions at a time. Other threads will wait while the
18 | /// scheduled blocks are being executed.
19 | @interface RACTestScheduler : RACScheduler
20 |
21 | /// Initializes a new test scheduler.
22 | - (instancetype)init;
23 |
24 | /// Executes the next scheduled block, if any.
25 | ///
26 | /// This method will block until the scheduled action has completed.
27 | - (void)step;
28 |
29 | /// Executes up to the next `ticks` scheduled blocks.
30 | ///
31 | /// This method will block until the scheduled actions have completed.
32 | ///
33 | /// ticks - The number of scheduled blocks to execute. If there aren't this many
34 | /// blocks enqueued, all scheduled blocks are executed.
35 | - (void)step:(NSUInteger)ticks;
36 |
37 | /// Executes all of the scheduled blocks on the receiver.
38 | ///
39 | /// This method will block until the scheduled actions have completed.
40 | - (void)stepAll;
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACTupleSequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACTupleSequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-05-01.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSequence.h"
10 |
11 | // Private class that adapts a RACTuple to the RACSequence interface.
12 | @interface RACTupleSequence : RACSequence
13 |
14 | // Returns a sequence for enumerating over the given backing array (from a
15 | // RACTuple), starting from the given offset.
16 | + (instancetype)sequenceWithTupleBackingArray:(NSArray *)backingArray offset:(NSUInteger)offset;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACUnarySequence.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACUnarySequence.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-05-01.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACSequence.h"
10 |
11 | // Private class representing a sequence of exactly one value.
12 | @interface RACUnarySequence : RACSequence
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACUnit.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACUnit.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/27/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | /// A unit represents an empty value.
12 | ///
13 | /// It should never be necessary to create a unit yourself. Just use +defaultUnit.
14 | @interface RACUnit : NSObject
15 |
16 | /// A singleton instance.
17 | + (RACUnit *)defaultUnit;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACUnit.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACUnit.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/27/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACUnit.h"
10 |
11 | @implementation RACUnit
12 |
13 | #pragma mark API
14 |
15 | + (RACUnit *)defaultUnit {
16 | static dispatch_once_t onceToken;
17 | static RACUnit *defaultUnit = nil;
18 | dispatch_once(&onceToken, ^{
19 | defaultUnit = [[self alloc] init];
20 | });
21 |
22 | return defaultUnit;
23 | }
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACValueTransformer.h:
--------------------------------------------------------------------------------
1 | //
2 | // RACValueTransformer.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/6/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | // A private block based transformer.
12 | @interface RACValueTransformer : NSValueTransformer
13 |
14 | + (instancetype)transformerWithBlock:(id (^)(id value))block;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/RACValueTransformer.m:
--------------------------------------------------------------------------------
1 | //
2 | // RACValueTransformer.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 3/6/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "RACValueTransformer.h"
10 |
11 | @interface RACValueTransformer ()
12 | @property (nonatomic, copy) id (^transformBlock)(id value);
13 | @end
14 |
15 |
16 | @implementation RACValueTransformer
17 |
18 |
19 | #pragma mark NSValueTransformer
20 |
21 | + (BOOL)allowsReverseTransformation {
22 | return NO;
23 | }
24 |
25 | - (id)transformedValue:(id)value {
26 | return self.transformBlock(value);
27 | }
28 |
29 |
30 | #pragma mark API
31 |
32 | @synthesize transformBlock;
33 |
34 | + (instancetype)transformerWithBlock:(id (^)(id value))block {
35 | NSCParameterAssert(block != NULL);
36 |
37 | RACValueTransformer *transformer = [[self alloc] init];
38 | transformer.transformBlock = block;
39 | return transformer;
40 | }
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIActionSheet+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIActionSheet+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Dave Lee on 2013-06-22.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACDelegateProxy;
12 | @class RACSignal;
13 |
14 | @interface UIActionSheet (RACSignalSupport)
15 |
16 | /// A delegate proxy which will be set as the receiver's delegate when any of the
17 | /// methods in this category are used.
18 | @property (nonatomic, strong, readonly) RACDelegateProxy *rac_delegateProxy;
19 |
20 | /// Creates a signal for button clicks on the receiver.
21 | ///
22 | /// When this method is invoked, the `rac_delegateProxy` will become the
23 | /// receiver's delegate. Any previous delegate will become the -[RACDelegateProxy
24 | /// rac_proxiedDelegate], so that it receives any messages that the proxy doesn't
25 | /// know how to handle. Setting the receiver's `delegate` afterward is
26 | /// considered undefined behavior.
27 | ///
28 | /// Returns a signal which will send the index of the specific button clicked.
29 | /// The signal will complete when the receiver is deallocated.
30 | - (RACSignal *)rac_buttonClickedSignal;
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIActionSheet+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIActionSheet+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Dave Lee on 2013-06-22.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UIActionSheet+RACSignalSupport.h"
10 | #import "RACDelegateProxy.h"
11 | #import "RACSignal+Operations.h"
12 | #import "NSObject+RACDeallocating.h"
13 | #import "NSObject+RACDescription.h"
14 | #import
15 |
16 | @implementation UIActionSheet (RACSignalSupport)
17 |
18 | static void RACUseDelegateProxy(UIActionSheet *self) {
19 | if (self.delegate == self.rac_delegateProxy) return;
20 |
21 | self.rac_delegateProxy.rac_proxiedDelegate = self.delegate;
22 | self.delegate = (id)self.rac_delegateProxy;
23 | }
24 |
25 | - (RACDelegateProxy *)rac_delegateProxy {
26 | RACDelegateProxy *proxy = objc_getAssociatedObject(self, _cmd);
27 | if (proxy == nil) {
28 | proxy = [[RACDelegateProxy alloc] initWithProtocol:@protocol(UIActionSheetDelegate)];
29 | objc_setAssociatedObject(self, _cmd, proxy, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
30 | }
31 |
32 | return proxy;
33 | }
34 |
35 | - (RACSignal *)rac_buttonClickedSignal {
36 | RACSignal *signal = [[[[self.rac_delegateProxy
37 | signalForSelector:@selector(actionSheet:clickedButtonAtIndex:)]
38 | reduceEach:^(UIActionSheet *actionSheet, NSNumber *buttonIndex) {
39 | return buttonIndex;
40 | }]
41 | takeUntil:self.rac_willDeallocSignal]
42 | setNameWithFormat:@"%@ -rac_buttonClickedSignal", self.rac_description];
43 |
44 | RACUseDelegateProxy(self);
45 |
46 | return signal;
47 | }
48 |
49 | @end
50 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIBarButtonItem+RACCommandSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIBarButtonItem+RACCommandSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Kyle LeNeau on 3/27/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACCommand;
12 |
13 | @interface UIBarButtonItem (RACCommandSupport)
14 |
15 | /// Sets the control's command. When the control is clicked, the command is
16 | /// executed with the sender of the event. The control's enabledness is bound
17 | /// to the command's `canExecute`.
18 | ///
19 | /// Note: this will reset the control's target and action.
20 | @property (nonatomic, strong) RACCommand *rac_command;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIButton+RACCommandSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIButton+RACCommandSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Ash Furrow on 2013-06-06.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACCommand;
12 |
13 | @interface UIButton (RACCommandSupport)
14 |
15 | /// Sets the button's command. When the button is clicked, the command is
16 | /// executed with the sender of the event. The button's enabledness is bound
17 | /// to the command's `canExecute`.
18 | @property (nonatomic, strong) RACCommand *rac_command;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UICollectionReusableView+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UICollectionReusableView+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Kent Wong on 2013-10-04.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | // This category is only applicable to iOS >= 6.0.
14 | @interface UICollectionReusableView (RACSignalSupport)
15 |
16 | /// A signal which will send a RACUnit whenever -prepareForReuse is invoked upon
17 | /// the receiver.
18 | ///
19 | /// Examples
20 | ///
21 | /// [[[self.cancelButton
22 | /// rac_signalForControlEvents:UIControlEventTouchUpInside]
23 | /// takeUntil:self.rac_prepareForReuseSignal]
24 | /// subscribeNext:^(UIButton *x) {
25 | /// // do other things
26 | /// }];
27 | @property (nonatomic, strong, readonly) RACSignal *rac_prepareForReuseSignal;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UICollectionReusableView+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UICollectionReusableView+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Kent Wong on 2013-10-04.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UICollectionReusableView+RACSignalSupport.h"
10 | #import "NSObject+RACDescription.h"
11 | #import "NSObject+RACSelectorSignal.h"
12 | #import "RACSignal+Operations.h"
13 | #import "RACUnit.h"
14 | #import
15 |
16 | @implementation UICollectionReusableView (RACSignalSupport)
17 |
18 | - (RACSignal *)rac_prepareForReuseSignal {
19 | RACSignal *signal = objc_getAssociatedObject(self, _cmd);
20 | if (signal != nil) return signal;
21 |
22 | signal = [[[self
23 | rac_signalForSelector:@selector(prepareForReuse)]
24 | mapReplace:RACUnit.defaultUnit]
25 | setNameWithFormat:@"%@ -rac_prepareForReuseSignal", self.rac_description];
26 |
27 | objc_setAssociatedObject(self, _cmd, signal, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
28 | return signal;
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIControl+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIControl+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 4/17/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | @interface UIControl (RACSignalSupport)
14 |
15 | /// Creates and returns a signal that sends the sender of the control event
16 | /// whenever one of the control events is triggered.
17 | - (RACSignal *)rac_signalForControlEvents:(UIControlEvents)controlEvents;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIControl+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIControl+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 4/17/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UIControl+RACSignalSupport.h"
10 | #import "RACEXTScope.h"
11 | #import "RACCompoundDisposable.h"
12 | #import "RACDisposable.h"
13 | #import "RACSignal.h"
14 | #import "RACSubscriber.h"
15 | #import "NSObject+RACDeallocating.h"
16 | #import "NSObject+RACDescription.h"
17 |
18 | @implementation UIControl (RACSignalSupport)
19 |
20 | - (RACSignal *)rac_signalForControlEvents:(UIControlEvents)controlEvents {
21 | @weakify(self);
22 |
23 | return [[RACSignal
24 | createSignal:^(id subscriber) {
25 | @strongify(self);
26 |
27 | [self addTarget:subscriber action:@selector(sendNext:) forControlEvents:controlEvents];
28 | [self.rac_deallocDisposable addDisposable:[RACDisposable disposableWithBlock:^{
29 | [subscriber sendCompleted];
30 | }]];
31 |
32 | return [RACDisposable disposableWithBlock:^{
33 | @strongify(self);
34 | [self removeTarget:subscriber action:@selector(sendNext:) forControlEvents:controlEvents];
35 | }];
36 | }]
37 | setNameWithFormat:@"%@ -rac_signalForControlEvents: %lx", self.rac_description, (unsigned long)controlEvents];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIControl+RACSignalSupportPrivate.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIControl+RACSignalSupportPrivate.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 06/08/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACChannelTerminal;
12 |
13 | @interface UIControl (RACSignalSupportPrivate)
14 |
15 | // Adds a RACChannel-based interface to the receiver for the given
16 | // UIControlEvents and exposes it.
17 | //
18 | // controlEvents - A mask of UIControlEvents on which to send new values.
19 | // key - The key whose value should be read and set when a control
20 | // event fires and when a value is sent to the
21 | // RACChannelTerminal respectively.
22 | // nilValue - The value to be assigned to the key when `nil` is sent to the
23 | // RACChannelTerminal.
24 | //
25 | // Returns a RACChannelTerminal which will send future values from the receiver,
26 | // and update the receiver when values are sent to the terminal.
27 | - (RACChannelTerminal *)rac_channelForControlEvents:(UIControlEvents)controlEvents key:(NSString *)key nilValue:(id)nilValue;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIControl+RACSignalSupportPrivate.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIControl+RACSignalSupportPrivate.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 06/08/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UIControl+RACSignalSupportPrivate.h"
10 | #import "NSObject+RACDeallocating.h"
11 | #import "NSObject+RACLifting.h"
12 | #import "RACChannel.h"
13 | #import "RACCompoundDisposable.h"
14 | #import "RACDisposable.h"
15 | #import "RACSignal+Operations.h"
16 | #import "UIControl+RACSignalSupport.h"
17 |
18 | @implementation UIControl (RACSignalSupportPrivate)
19 |
20 | - (RACChannelTerminal *)rac_channelForControlEvents:(UIControlEvents)controlEvents key:(NSString *)key nilValue:(id)nilValue {
21 | NSCParameterAssert(key.length > 0);
22 | key = [key copy];
23 | RACChannel *channel = [[RACChannel alloc] init];
24 |
25 | [self.rac_deallocDisposable addDisposable:[RACDisposable disposableWithBlock:^{
26 | [channel.followingTerminal sendCompleted];
27 | }]];
28 |
29 | RACSignal *eventSignal = [[[self
30 | rac_signalForControlEvents:controlEvents]
31 | mapReplace:key]
32 | takeUntil:[[channel.followingTerminal
33 | ignoreValues]
34 | catchTo:RACSignal.empty]];
35 | [[self
36 | rac_liftSelector:@selector(valueForKey:) withSignals:eventSignal, nil]
37 | subscribe:channel.followingTerminal];
38 |
39 | RACSignal *valuesSignal = [channel.followingTerminal
40 | map:^(id value) {
41 | return value ?: nilValue;
42 | }];
43 | [self rac_liftSelector:@selector(setValue:forKey:) withSignals:valuesSignal, [RACSignal return:key], nil];
44 |
45 | return channel.leadingTerminal;
46 | }
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIDatePicker+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIDatePicker+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACChannelTerminal;
12 |
13 | @interface UIDatePicker (RACSignalSupport)
14 |
15 | /// Creates a new RACChannel-based binding to the receiver.
16 | ///
17 | /// nilValue - The date to set when the terminal receives `nil`.
18 | ///
19 | /// Returns a RACChannelTerminal that sends the receiver's date whenever the
20 | /// UIControlEventValueChanged control event is fired, and sets the date to the
21 | /// values it receives.
22 | - (RACChannelTerminal *)rac_newDateChannelWithNilValue:(NSDate *)nilValue;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIDatePicker+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIDatePicker+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UIDatePicker+RACSignalSupport.h"
10 | #import "RACEXTKeyPathCoding.h"
11 | #import "UIControl+RACSignalSupportPrivate.h"
12 |
13 | @implementation UIDatePicker (RACSignalSupport)
14 |
15 | - (RACChannelTerminal *)rac_newDateChannelWithNilValue:(NSDate *)nilValue {
16 | return [self rac_channelForControlEvents:UIControlEventValueChanged key:@keypath(self.date) nilValue:nilValue];
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIGestureRecognizer+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIGestureRecognizer+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Vera on 5/5/13.
6 | // Copyright (c) 2013 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | @interface UIGestureRecognizer (RACSignalSupport)
14 |
15 | /// Returns a signal that sends the receiver when its gesture occurs.
16 | - (RACSignal *)rac_gestureSignal;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIGestureRecognizer+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIGestureRecognizer+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Vera on 5/5/13.
6 | // Copyright (c) 2013 GitHub. All rights reserved.
7 | //
8 |
9 | #import "UIGestureRecognizer+RACSignalSupport.h"
10 | #import "RACEXTScope.h"
11 | #import "NSObject+RACDeallocating.h"
12 | #import "NSObject+RACDescription.h"
13 | #import "RACCompoundDisposable.h"
14 | #import "RACDisposable.h"
15 | #import "RACSignal.h"
16 | #import "RACSubscriber.h"
17 |
18 | @implementation UIGestureRecognizer (RACSignalSupport)
19 |
20 | - (RACSignal *)rac_gestureSignal {
21 | @weakify(self);
22 |
23 | return [[RACSignal
24 | createSignal:^(id subscriber) {
25 | @strongify(self);
26 |
27 | [self addTarget:subscriber action:@selector(sendNext:)];
28 | [self.rac_deallocDisposable addDisposable:[RACDisposable disposableWithBlock:^{
29 | [subscriber sendCompleted];
30 | }]];
31 |
32 | return [RACDisposable disposableWithBlock:^{
33 | @strongify(self);
34 | [self removeTarget:subscriber action:@selector(sendNext:)];
35 | }];
36 | }]
37 | setNameWithFormat:@"%@ -rac_gestureSignal", self.rac_description];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIImagePickerController+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIImagePickerController+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Timur Kuchkarov on 28.03.14.
6 | // Copyright (c) 2014 GitHub. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACDelegateProxy;
12 | @class RACSignal;
13 |
14 | @interface UIImagePickerController (RACSignalSupport)
15 |
16 | /// A delegate proxy which will be set as the receiver's delegate when any of the
17 | /// methods in this category are used.
18 | @property (nonatomic, strong, readonly) RACDelegateProxy *rac_delegateProxy;
19 |
20 | /// Creates a signal for every new selected image.
21 | ///
22 | /// When this method is invoked, the `rac_delegateProxy` will become the
23 | /// receiver's delegate. Any previous delegate will become the -[RACDelegateProxy
24 | /// rac_proxiedDelegate], so that it receives any messages that the proxy doesn't
25 | /// know how to handle. Setting the receiver's `delegate` afterward is considered
26 | /// undefined behavior.
27 | ///
28 | /// Returns a signal which will send the dictionary with info for the selected image.
29 | /// Caller is responsible for picker controller dismissal. The signal will complete
30 | /// itself when the receiver is deallocated or when user cancels selection.
31 | - (RACSignal *)rac_imageSelectedSignal;
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIRefreshControl+RACCommandSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIRefreshControl+RACCommandSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Dave Lee on 2013-10-17.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACCommand;
12 |
13 | @interface UIRefreshControl (RACCommandSupport)
14 |
15 | /// Manipulate the RACCommand property associated with this refresh control.
16 | ///
17 | /// When this refresh control is activated by the user, the command will be
18 | /// executed. Upon completion or error of the execution signal, -endRefreshing
19 | /// will be invoked.
20 | @property (nonatomic, strong) RACCommand *rac_command;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UISegmentedControl+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UISegmentedControl+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACChannelTerminal;
12 |
13 | @interface UISegmentedControl (RACSignalSupport)
14 |
15 | /// Creates a new RACChannel-based binding to the receiver.
16 | ///
17 | /// nilValue - The segment to select when the terminal receives `nil`.
18 | ///
19 | /// Returns a RACChannelTerminal that sends the receiver's currently selected
20 | /// segment's index whenever the UIControlEventValueChanged control event is
21 | /// fired, and sets the selected segment index to the values it receives.
22 | - (RACChannelTerminal *)rac_newSelectedSegmentIndexChannelWithNilValue:(NSNumber *)nilValue;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UISegmentedControl+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UISegmentedControl+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UISegmentedControl+RACSignalSupport.h"
10 | #import "RACEXTKeyPathCoding.h"
11 | #import "UIControl+RACSignalSupportPrivate.h"
12 |
13 | @implementation UISegmentedControl (RACSignalSupport)
14 |
15 | - (RACChannelTerminal *)rac_newSelectedSegmentIndexChannelWithNilValue:(NSNumber *)nilValue {
16 | return [self rac_channelForControlEvents:UIControlEventValueChanged key:@keypath(self.selectedSegmentIndex) nilValue:nilValue];
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UISlider+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UISlider+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACChannelTerminal;
12 |
13 | @interface UISlider (RACSignalSupport)
14 |
15 | /// Creates a new RACChannel-based binding to the receiver.
16 | ///
17 | /// nilValue - The value to set when the terminal receives `nil`.
18 | ///
19 | /// Returns a RACChannelTerminal that sends the receiver's value whenever the
20 | /// UIControlEventValueChanged control event is fired, and sets the value to the
21 | /// values it receives.
22 | - (RACChannelTerminal *)rac_newValueChannelWithNilValue:(NSNumber *)nilValue;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UISlider+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UISlider+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UISlider+RACSignalSupport.h"
10 | #import "RACEXTKeyPathCoding.h"
11 | #import "UIControl+RACSignalSupportPrivate.h"
12 |
13 | @implementation UISlider (RACSignalSupport)
14 |
15 | - (RACChannelTerminal *)rac_newValueChannelWithNilValue:(NSNumber *)nilValue {
16 | return [self rac_channelForControlEvents:UIControlEventValueChanged key:@keypath(self.value) nilValue:nilValue];
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIStepper+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIStepper+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACChannelTerminal;
12 |
13 | @interface UIStepper (RACSignalSupport)
14 |
15 | /// Creates a new RACChannel-based binding to the receiver.
16 | ///
17 | /// nilValue - The value to set when the terminal receives `nil`.
18 | ///
19 | /// Returns a RACChannelTerminal that sends the receiver's value whenever the
20 | /// UIControlEventValueChanged control event is fired, and sets the value to the
21 | /// values it receives.
22 | - (RACChannelTerminal *)rac_newValueChannelWithNilValue:(NSNumber *)nilValue;
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UIStepper+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UIStepper+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UIStepper+RACSignalSupport.h"
10 | #import "RACEXTKeyPathCoding.h"
11 | #import "UIControl+RACSignalSupportPrivate.h"
12 |
13 | @implementation UIStepper (RACSignalSupport)
14 |
15 | - (RACChannelTerminal *)rac_newValueChannelWithNilValue:(NSNumber *)nilValue {
16 | return [self rac_channelForControlEvents:UIControlEventValueChanged key:@keypath(self.value) nilValue:nilValue];
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UISwitch+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UISwitch+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACChannelTerminal;
12 |
13 | @interface UISwitch (RACSignalSupport)
14 |
15 | /// Creates a new RACChannel-based binding to the receiver.
16 | ///
17 | /// Returns a RACChannelTerminal that sends whether the receiver is on whenever
18 | /// the UIControlEventValueChanged control event is fired, and sets it on or off
19 | /// when it receives @YES or @NO respectively.
20 | - (RACChannelTerminal *)rac_newOnChannel;
21 |
22 | @end
23 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UISwitch+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UISwitch+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Uri Baghin on 20/07/2013.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UISwitch+RACSignalSupport.h"
10 | #import "RACEXTKeyPathCoding.h"
11 | #import "UIControl+RACSignalSupportPrivate.h"
12 |
13 | @implementation UISwitch (RACSignalSupport)
14 |
15 | - (RACChannelTerminal *)rac_newOnChannel {
16 | return [self rac_channelForControlEvents:UIControlEventValueChanged key:@keypath(self.on) nilValue:@NO];
17 | }
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UITableViewCell+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UITableViewCell+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-07-22.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | @interface UITableViewCell (RACSignalSupport)
14 |
15 | /// A signal which will send a RACUnit whenever -prepareForReuse is invoked upon
16 | /// the receiver.
17 | ///
18 | /// Examples
19 | ///
20 | /// [[[self.cancelButton
21 | /// rac_signalForControlEvents:UIControlEventTouchUpInside]
22 | /// takeUntil:self.rac_prepareForReuseSignal]
23 | /// subscribeNext:^(UIButton *x) {
24 | /// // do other things
25 | /// }];
26 | @property (nonatomic, strong, readonly) RACSignal *rac_prepareForReuseSignal;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UITableViewCell+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UITableViewCell+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Justin Spahr-Summers on 2013-07-22.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UITableViewCell+RACSignalSupport.h"
10 | #import "NSObject+RACDescription.h"
11 | #import "NSObject+RACSelectorSignal.h"
12 | #import "RACSignal+Operations.h"
13 | #import "RACUnit.h"
14 | #import
15 |
16 | @implementation UITableViewCell (RACSignalSupport)
17 |
18 | - (RACSignal *)rac_prepareForReuseSignal {
19 | RACSignal *signal = objc_getAssociatedObject(self, _cmd);
20 | if (signal != nil) return signal;
21 |
22 | signal = [[[self
23 | rac_signalForSelector:@selector(prepareForReuse)]
24 | mapReplace:RACUnit.defaultUnit]
25 | setNameWithFormat:@"%@ -rac_prepareForReuseSignal", self.rac_description];
26 |
27 | objc_setAssociatedObject(self, _cmd, signal, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
28 | return signal;
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UITableViewHeaderFooterView+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UITableViewHeaderFooterView+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Syo Ikeda on 12/30/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACSignal;
12 |
13 | // This category is only applicable to iOS >= 6.0.
14 | @interface UITableViewHeaderFooterView (RACSignalSupport)
15 |
16 | /// A signal which will send a RACUnit whenever -prepareForReuse is invoked upon
17 | /// the receiver.
18 | ///
19 | /// Examples
20 | ///
21 | /// [[[self.cancelButton
22 | /// rac_signalForControlEvents:UIControlEventTouchUpInside]
23 | /// takeUntil:self.rac_prepareForReuseSignal]
24 | /// subscribeNext:^(UIButton *x) {
25 | /// // do other things
26 | /// }];
27 | @property (nonatomic, strong, readonly) RACSignal *rac_prepareForReuseSignal;
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UITableViewHeaderFooterView+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UITableViewHeaderFooterView+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Syo Ikeda on 12/30/13.
6 | // Copyright (c) 2013 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UITableViewHeaderFooterView+RACSignalSupport.h"
10 | #import "NSObject+RACDescription.h"
11 | #import "NSObject+RACSelectorSignal.h"
12 | #import "RACSignal+Operations.h"
13 | #import "RACUnit.h"
14 | #import
15 |
16 | @implementation UITableViewHeaderFooterView (RACSignalSupport)
17 |
18 | - (RACSignal *)rac_prepareForReuseSignal {
19 | RACSignal *signal = objc_getAssociatedObject(self, _cmd);
20 | if (signal != nil) return signal;
21 |
22 | signal = [[[self
23 | rac_signalForSelector:@selector(prepareForReuse)]
24 | mapReplace:RACUnit.defaultUnit]
25 | setNameWithFormat:@"%@ -rac_prepareForReuseSignal", self.rac_description];
26 |
27 | objc_setAssociatedObject(self, _cmd, signal, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
28 | return signal;
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UITextField+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UITextField+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 4/17/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACChannelTerminal;
12 | @class RACSignal;
13 |
14 | @interface UITextField (RACSignalSupport)
15 |
16 | /// Creates and returns a signal for the text of the field. It always starts with
17 | /// the current text. The signal sends next when the UIControlEventAllEditingEvents
18 | /// control event is fired on the control.
19 | - (RACSignal *)rac_textSignal;
20 |
21 | /// Creates a new RACChannel-based binding to the receiver.
22 | ///
23 | /// Returns a RACChannelTerminal that sends the receiver's text whenever the
24 | /// UIControlEventAllEditingEvents control event is fired, and sets the text
25 | /// to the values it receives.
26 | - (RACChannelTerminal *)rac_newTextChannel;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UITextField+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UITextField+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Josh Abernathy on 4/17/12.
6 | // Copyright (c) 2012 GitHub, Inc. All rights reserved.
7 | //
8 |
9 | #import "UITextField+RACSignalSupport.h"
10 | #import "RACEXTKeyPathCoding.h"
11 | #import "RACEXTScope.h"
12 | #import "NSObject+RACDeallocating.h"
13 | #import "NSObject+RACDescription.h"
14 | #import "RACSignal+Operations.h"
15 | #import "UIControl+RACSignalSupport.h"
16 | #import "UIControl+RACSignalSupportPrivate.h"
17 |
18 | @implementation UITextField (RACSignalSupport)
19 |
20 | - (RACSignal *)rac_textSignal {
21 | @weakify(self);
22 | return [[[[[RACSignal
23 | defer:^{
24 | @strongify(self);
25 | return [RACSignal return:self];
26 | }]
27 | concat:[self rac_signalForControlEvents:UIControlEventAllEditingEvents]]
28 | map:^(UITextField *x) {
29 | return x.text;
30 | }]
31 | takeUntil:self.rac_willDeallocSignal]
32 | setNameWithFormat:@"%@ -rac_textSignal", self.rac_description];
33 | }
34 |
35 | - (RACChannelTerminal *)rac_newTextChannel {
36 | return [self rac_channelForControlEvents:UIControlEventAllEditingEvents key:@keypath(self.text) nilValue:@""];
37 | }
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UITextView+RACSignalSupport.h:
--------------------------------------------------------------------------------
1 | //
2 | // UITextView+RACSignalSupport.h
3 | // ReactiveCocoa
4 | //
5 | // Created by Cody Krieger on 5/18/12.
6 | // Copyright (c) 2012 Cody Krieger. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @class RACDelegateProxy;
12 | @class RACSignal;
13 |
14 | @interface UITextView (RACSignalSupport)
15 |
16 | /// A delegate proxy which will be set as the receiver's delegate when any of the
17 | /// methods in this category are used.
18 | @property (nonatomic, strong, readonly) RACDelegateProxy *rac_delegateProxy;
19 |
20 | /// Creates a signal for the text of the receiver.
21 | ///
22 | /// When this method is invoked, the `rac_delegateProxy` will become the
23 | /// receiver's delegate. Any previous delegate will become the -[RACDelegateProxy
24 | /// rac_proxiedDelegate], so that it receives any messages that the proxy doesn't
25 | /// know how to handle. Setting the receiver's `delegate` afterward is
26 | /// considered undefined behavior.
27 | ///
28 | /// Returns a signal which will send the current text upon subscription, then
29 | /// again whenever the receiver's text is changed. The signal will complete when
30 | /// the receiver is deallocated.
31 | - (RACSignal *)rac_textSignal;
32 |
33 | @end
34 |
35 | @interface UITextView (RACSignalSupportUnavailable)
36 |
37 | - (RACSignal *)rac_signalForDelegateMethod:(SEL)method __attribute__((unavailable("Use -rac_signalForSelector:fromProtocol: instead")));
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Example/Pods/ReactiveCocoa/ReactiveCocoa/UITextView+RACSignalSupport.m:
--------------------------------------------------------------------------------
1 | //
2 | // UITextView+RACSignalSupport.m
3 | // ReactiveCocoa
4 | //
5 | // Created by Cody Krieger on 5/18/12.
6 | // Copyright (c) 2012 Cody Krieger. All rights reserved.
7 | //
8 |
9 | #import "UITextView+RACSignalSupport.h"
10 | #import "RACEXTScope.h"
11 | #import "NSObject+RACDeallocating.h"
12 | #import "NSObject+RACDescription.h"
13 | #import "RACDelegateProxy.h"
14 | #import "RACSignal+Operations.h"
15 | #import "RACTuple.h"
16 | #import
17 |
18 | @implementation UITextView (RACSignalSupport)
19 |
20 | static void RACUseDelegateProxy(UITextView *self) {
21 | if (self.delegate == self.rac_delegateProxy) return;
22 |
23 | self.rac_delegateProxy.rac_proxiedDelegate = self.delegate;
24 | self.delegate = (id)self.rac_delegateProxy;
25 | }
26 |
27 | - (RACDelegateProxy *)rac_delegateProxy {
28 | RACDelegateProxy *proxy = objc_getAssociatedObject(self, _cmd);
29 | if (proxy == nil) {
30 | proxy = [[RACDelegateProxy alloc] initWithProtocol:@protocol(UITextViewDelegate)];
31 | objc_setAssociatedObject(self, _cmd, proxy, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
32 | }
33 |
34 | return proxy;
35 | }
36 |
37 | - (RACSignal *)rac_textSignal {
38 | @weakify(self);
39 | RACSignal *signal = [[[[[RACSignal
40 | defer:^{
41 | @strongify(self);
42 | return [RACSignal return:RACTuplePack(self)];
43 | }]
44 | concat:[self.rac_delegateProxy signalForSelector:@selector(textViewDidChange:)]]
45 | reduceEach:^(UITextView *x) {
46 | return x.text;
47 | }]
48 | takeUntil:self.rac_willDeallocSignal]
49 | setNameWithFormat:@"%@ -rac_textSignal", self.rac_description];
50 |
51 | RACUseDelegateProxy(self);
52 |
53 | return signal;
54 | }
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2012-2014 Specta Team.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
21 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTCallSite.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface SPTCallSite : NSObject
4 |
5 | @property (nonatomic, copy, readonly) NSString *file;
6 | @property (nonatomic, readonly) NSUInteger line;
7 |
8 | + (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line;
9 |
10 | - (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line;
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTCallSite.m:
--------------------------------------------------------------------------------
1 | #import "SPTCallSite.h"
2 |
3 | @implementation SPTCallSite
4 |
5 | + (instancetype)callSiteWithFile:(NSString *)file line:(NSUInteger)line {
6 | return [[self alloc] initWithFile:file line:line];
7 | }
8 |
9 | - (instancetype)initWithFile:(NSString *)file line:(NSUInteger)line {
10 | self = [super init];
11 | if (self) {
12 | _file = file;
13 | _line = line;
14 | }
15 | return self;
16 | }
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import "SpectaTypes.h"
3 |
4 | @interface SPTCompiledExample : NSObject
5 |
6 | @property (nonatomic, copy) NSString *name;
7 | @property (nonatomic, copy) NSString *testCaseName;
8 | @property (nonatomic, copy) SPTSpecBlock block;
9 |
10 | @property (nonatomic) BOOL pending;
11 | @property (nonatomic, getter=isFocused) BOOL focused;
12 |
13 | @property (nonatomic) SEL testMethodSelector;
14 |
15 | - (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTCompiledExample.m:
--------------------------------------------------------------------------------
1 | #import "SPTCompiledExample.h"
2 |
3 | @implementation SPTCompiledExample
4 |
5 | - (id)initWithName:(NSString *)name testCaseName:(NSString *)testCaseName block:(SPTSpecBlock)block pending:(BOOL)pending focused:(BOOL)focused {
6 | self = [super init];
7 | if (self) {
8 | self.name = name;
9 | self.testCaseName = testCaseName;
10 | self.block = block;
11 | self.pending = pending;
12 | self.focused = focused;
13 | }
14 | return self;
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTExample.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import "SpectaTypes.h"
3 |
4 | @class SPTCallSite;
5 |
6 | @interface SPTExample : NSObject
7 |
8 | @property (nonatomic, copy) NSString *name;
9 | @property (nonatomic, retain) SPTCallSite *callSite;
10 | @property (nonatomic, copy) SPTVoidBlock block;
11 |
12 | @property (nonatomic) BOOL pending;
13 | @property (nonatomic, getter=isFocused) BOOL focused;
14 |
15 | - (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block;
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTExample.m:
--------------------------------------------------------------------------------
1 | #import "SPTExample.h"
2 |
3 | @implementation SPTExample
4 |
5 | - (id)initWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block {
6 | self = [super init];
7 | if (self) {
8 | self.name = name;
9 | self.callSite = callSite;
10 | self.block = block;
11 | self.focused = focused;
12 | self.pending = block == nil;
13 | }
14 | return self;
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTExampleGroup.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import "SpectaTypes.h"
4 |
5 | @class SPTExample;
6 | @class SPTCallSite;
7 |
8 | @interface SPTExampleGroup : NSObject
9 |
10 | @property (nonatomic, copy) NSString *name;
11 | @property (nonatomic, weak) SPTExampleGroup *root;
12 | @property (nonatomic, weak) SPTExampleGroup *parent;
13 | @property (nonatomic, strong) NSMutableArray *children;
14 | @property (nonatomic, strong) NSMutableArray *beforeAllArray;
15 | @property (nonatomic, strong) NSMutableArray *afterAllArray;
16 | @property (nonatomic, strong) NSMutableArray *beforeEachArray;
17 | @property (nonatomic, strong) NSMutableArray *afterEachArray;
18 | @property (nonatomic, strong) NSMutableDictionary *sharedExamples;
19 | @property (nonatomic) unsigned int exampleCount;
20 | @property (nonatomic) unsigned int ranExampleCount;
21 | @property (nonatomic) unsigned int pendingExampleCount;
22 | @property (nonatomic, getter=isFocused) BOOL focused;
23 |
24 | - (id)initWithName:(NSString *)name parent:(SPTExampleGroup *)parent root:(SPTExampleGroup *)root;
25 |
26 | - (SPTExampleGroup *)addExampleGroupWithName:(NSString *)name focused:(BOOL)focused;
27 | - (SPTExample *)addExampleWithName:(NSString *)name callSite:(SPTCallSite *)callSite focused:(BOOL)focused block:(SPTVoidBlock)block;
28 |
29 | - (void)addBeforeAllBlock:(SPTVoidBlock)block;
30 | - (void)addAfterAllBlock:(SPTVoidBlock)block;
31 | - (void)addBeforeEachBlock:(SPTVoidBlock)block;
32 | - (void)addAfterEachBlock:(SPTVoidBlock)block;
33 |
34 | - (NSArray *)compileExamplesWithStack:(NSArray *)stack;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTExcludeGlobalBeforeAfterEach.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 Specta Team. All rights reserved.
3 | */
4 | #import
5 |
6 | // This protocol was used for blacklisting classes for global beforeEach and afterEach blocks.
7 | // Now, instead, classes are whitelisted by implementing the SPTGlobalBeforeAfterEach protocol.
8 | __deprecated_msg("Please whitelist classes instead with the SPTGlobalBeforeAfterEach protocol")
9 | @protocol SPTExcludeGlobalBeforeAfterEach
10 | @end
11 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTGlobalBeforeAfterEach.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2015 Specta Team. All rights reserved.
3 | */
4 | #import
5 |
6 | // This protocol is used for whitelisting classes for global beforeEach and afterEach blocks.
7 | // If you want a class to participate in those just add this protocol to a category and it will be
8 | // included.
9 | @protocol SPTGlobalBeforeAfterEach
10 |
11 | @optional
12 | + (void)beforeEach;
13 | + (void)afterEach;
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTSharedExampleGroups.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 | #import
4 |
5 | @class _XCTestCaseImplementation;
6 |
7 | @class SPTExampleGroup;
8 |
9 | @interface SPTSharedExampleGroups : XCTestCase
10 |
11 | + (void)addSharedExampleGroupWithName:(NSString *)name block:(SPTDictionaryBlock)block exampleGroup:(SPTExampleGroup *)exampleGroup;
12 | + (SPTDictionaryBlock)sharedExampleGroupWithName:(NSString *)name exampleGroup:(SPTExampleGroup *)exampleGroup;
13 |
14 | - (void)sharedExampleGroups;
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTSpec.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | @class
5 | SPTTestSuite
6 | , SPTCompiledExample
7 | ;
8 |
9 | @interface SPTSpec : XCTestCase
10 |
11 | @property (strong) XCTestCaseRun *spt_run;
12 | @property (nonatomic) BOOL spt_pending;
13 | @property (nonatomic) BOOL spt_skipped;
14 |
15 | + (BOOL)spt_isDisabled;
16 | + (void)spt_setDisabled:(BOOL)disabled;
17 | + (BOOL)spt_focusedExamplesExist;
18 | + (SEL)spt_convertToTestMethod:(SPTCompiledExample *)example;
19 | + (SPTTestSuite *)spt_testSuite;
20 | + (void)spt_setCurrentTestSuite;
21 | + (void)spt_unsetCurrentTestSuite;
22 | + (void)spt_setCurrentTestSuiteFileName:(NSString *)fileName lineNumber:(NSUInteger)lineNumber;
23 |
24 | - (void)spec;
25 | - (BOOL)spt_shouldRunExample:(SPTCompiledExample *)example;
26 | - (void)spt_runExample:(SPTCompiledExample *)example;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTTestSuite.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @class
4 | SPTExample
5 | , SPTExampleGroup
6 | ;
7 |
8 | @interface SPTTestSuite : NSObject
9 |
10 | @property (nonatomic, strong) SPTExampleGroup *rootGroup;
11 | @property (nonatomic, strong) NSMutableArray *groupStack;
12 | @property (nonatomic, strong) NSArray *compiledExamples;
13 | @property (nonatomic, copy) NSString *fileName;
14 | @property (nonatomic) NSUInteger lineNumber;
15 | @property (nonatomic, getter = isDisabled) BOOL disabled;
16 | @property (nonatomic) BOOL hasFocusedExamples;
17 |
18 | - (SPTExampleGroup *)currentGroup;
19 | - (void)compile;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SPTTestSuite.m:
--------------------------------------------------------------------------------
1 | #import "SPTTestSuite.h"
2 | #import "SPTExampleGroup.h"
3 | #import "SPTCompiledExample.h"
4 |
5 | @implementation SPTTestSuite
6 |
7 | - (id)init {
8 | self = [super init];
9 | if (self) {
10 | self.rootGroup = [[SPTExampleGroup alloc] init];
11 | self.rootGroup.root = self.rootGroup;
12 | self.groupStack = [NSMutableArray arrayWithObject:self.rootGroup];
13 | }
14 | return self;
15 | }
16 |
17 | - (SPTExampleGroup *)currentGroup {
18 | return [self.groupStack lastObject];
19 | }
20 |
21 | - (void)compile {
22 | self.compiledExamples = [self.rootGroup compileExamplesWithStack:@[]];
23 | for (SPTCompiledExample *example in self.compiledExamples) {
24 | if (example.focused) {
25 | self.hasFocusedExamples = YES;
26 | break;
27 | }
28 | }
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/Specta.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 | //! Project version number for Specta.
5 | FOUNDATION_EXPORT double SpectaVersionNumber;
6 |
7 | //! Project version string for Specta.
8 | FOUNDATION_EXPORT const unsigned char SpectaVersionString[];
9 |
10 | // In this header, you should import all the public headers of your framework using statements like #import
11 |
12 | #import
13 | #import
14 | #import
15 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SpectaTypes.h:
--------------------------------------------------------------------------------
1 | @class SPTSpec;
2 |
3 | typedef void (^SPTVoidBlock)();
4 | typedef void (^SPTSpecBlock)(SPTSpec *spec);
5 | typedef void (^SPTDictionaryBlock)(NSDictionary *dictionary);
6 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/SpectaUtility.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | extern NSString * const spt_kCurrentTestSuiteKey;
4 | extern NSString * const spt_kCurrentSpecKey;
5 |
6 | #define SPTCurrentTestSuite [[NSThread mainThread] threadDictionary][spt_kCurrentTestSuiteKey]
7 | #define SPTCurrentSpec [[NSThread mainThread] threadDictionary][spt_kCurrentSpecKey]
8 | #define SPTCurrentGroup [SPTCurrentTestSuite currentGroup]
9 | #define SPTGroupStack [SPTCurrentTestSuite groupStack]
10 |
11 | #define SPTReturnUnlessBlockOrNil(block) if ((block) && !SPTIsBlock((block))) return;
12 | #define SPTIsBlock(obj) [(obj) isKindOfClass:NSClassFromString(@"NSBlock")]
13 |
14 | BOOL spt_isSpecClass(Class aClass);
15 | NSString *spt_underscorize(NSString *string);
16 | NSArray *spt_map(NSArray *array, id (^block)(id obj, NSUInteger idx));
17 | NSArray *spt_shuffle(NSArray *array);
18 | unsigned int spt_seed();
19 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/XCTest+Private.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 90000 || __MAC_OS_X_VERSION_MAX_ALLOWED >= 101100
4 |
5 | @interface XCTestObservationCenter (SPTTestSuspention)
6 |
7 | - (void)_suspendObservationForBlock:(void (^)(void))block;
8 |
9 | @end
10 |
11 | #else
12 |
13 | @interface XCTestObservationCenter : NSObject
14 |
15 | + (id)sharedObservationCenter;
16 | - (void)_suspendObservationForBlock:(void (^)(void))block;
17 |
18 | @end
19 |
20 | @protocol XCTestObservation
21 | @end
22 |
23 |
24 | #endif
25 |
26 | @interface _XCTestDriverTestObserver : NSObject
27 |
28 | - (void)stopObserving;
29 | - (void)startObserving;
30 |
31 | @end
32 |
33 | @interface _XCTestCaseImplementation : NSObject
34 | @end
35 |
36 | @interface XCTestCase ()
37 |
38 | - (_XCTestCaseImplementation *)internalImplementation;
39 | - (void)_recordUnexpectedFailureWithDescription:(NSString *)description exception:(NSException *)exception;
40 |
41 | @end
42 |
--------------------------------------------------------------------------------
/Example/Pods/Specta/Specta/Specta/XCTestCase+Specta.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 | @interface XCTestCase (Specta)
4 |
5 | - (void)spt_handleException:(NSException *)exception;
6 |
7 | @end
8 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking/AFNetworking-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_AFNetworking : NSObject
3 | @end
4 | @implementation PodsDummy_AFNetworking
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking/AFNetworking-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #ifndef TARGET_OS_IOS
6 | #define TARGET_OS_IOS TARGET_OS_IPHONE
7 | #endif
8 |
9 | #ifndef TARGET_OS_WATCH
10 | #define TARGET_OS_WATCH 0
11 | #endif
12 |
13 | #ifndef TARGET_OS_TV
14 | #define TARGET_OS_TV 0
15 | #endif
16 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking/AFNetworking-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #import "AFHTTPSessionManager.h"
6 | #import "AFURLSessionManager.h"
7 | #import "AFNetworkReachabilityManager.h"
8 | #import "AFSecurityPolicy.h"
9 | #import "AFURLRequestSerialization.h"
10 | #import "AFURLResponseSerialization.h"
11 |
12 | FOUNDATION_EXPORT double AFNetworkingVersionNumber;
13 | FOUNDATION_EXPORT const unsigned char AFNetworkingVersionString[];
14 |
15 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking/AFNetworking.modulemap:
--------------------------------------------------------------------------------
1 | framework module AFNetworking {
2 | umbrella header "AFNetworking-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking/AFNetworking.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/AFNetworking
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "MobileCoreServices" -framework "Security" -framework "SystemConfiguration"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 3.1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking3-RACExtensions/AFNetworking3-RACExtensions-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_AFNetworking3_RACExtensions : NSObject
3 | @end
4 | @implementation PodsDummy_AFNetworking3_RACExtensions
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking3-RACExtensions/AFNetworking3-RACExtensions-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking3-RACExtensions/AFNetworking3-RACExtensions-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #import "AFHTTPSessionManager+RACSupport.h"
6 | #import "AFHTTPSessionManager+RACSupport.h"
7 |
8 | FOUNDATION_EXPORT double AFNetworking3_RACExtensionsVersionNumber;
9 | FOUNDATION_EXPORT const unsigned char AFNetworking3_RACExtensionsVersionString[];
10 |
11 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking3-RACExtensions/AFNetworking3-RACExtensions.modulemap:
--------------------------------------------------------------------------------
1 | framework module AFNetworking3_RACExtensions {
2 | umbrella header "AFNetworking3-RACExtensions-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking3-RACExtensions/AFNetworking3-RACExtensions.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
5 | PODS_BUILD_DIR = $BUILD_DIR
6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
7 | PODS_ROOT = ${SRCROOT}
8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
9 | SKIP_INSTALL = YES
10 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/AFNetworking3-RACExtensions/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 0.1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Expecta/Expecta-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Expecta : NSObject
3 | @end
4 | @implementation PodsDummy_Expecta
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Expecta/Expecta-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Expecta/Expecta-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #import "EXPBlockDefinedMatcher.h"
6 | #import "EXPDefines.h"
7 | #import "EXPDoubleTuple.h"
8 | #import "Expecta.h"
9 | #import "ExpectaObject.h"
10 | #import "ExpectaSupport.h"
11 | #import "EXPExpect.h"
12 | #import "EXPFloatTuple.h"
13 | #import "EXPMatcher.h"
14 | #import "EXPUnsupportedObject.h"
15 | #import "EXPMatcherHelpers.h"
16 | #import "EXPMatchers+beCloseTo.h"
17 | #import "EXPMatchers+beFalsy.h"
18 | #import "EXPMatchers+beginWith.h"
19 | #import "EXPMatchers+beGreaterThan.h"
20 | #import "EXPMatchers+beGreaterThanOrEqualTo.h"
21 | #import "EXPMatchers+beIdenticalTo.h"
22 | #import "EXPMatchers+beInstanceOf.h"
23 | #import "EXPMatchers+beInTheRangeOf.h"
24 | #import "EXPMatchers+beKindOf.h"
25 | #import "EXPMatchers+beLessThan.h"
26 | #import "EXPMatchers+beLessThanOrEqualTo.h"
27 | #import "EXPMatchers+beNil.h"
28 | #import "EXPMatchers+beSubclassOf.h"
29 | #import "EXPMatchers+beSupersetOf.h"
30 | #import "EXPMatchers+beTruthy.h"
31 | #import "EXPMatchers+conformTo.h"
32 | #import "EXPMatchers+contain.h"
33 | #import "EXPMatchers+endWith.h"
34 | #import "EXPMatchers+equal.h"
35 | #import "EXPMatchers+haveCountOf.h"
36 | #import "EXPMatchers+match.h"
37 | #import "EXPMatchers+postNotification.h"
38 | #import "EXPMatchers+raise.h"
39 | #import "EXPMatchers+raiseWithReason.h"
40 | #import "EXPMatchers+respondTo.h"
41 | #import "EXPMatchers.h"
42 | #import "NSObject+Expecta.h"
43 | #import "NSValue+Expecta.h"
44 |
45 | FOUNDATION_EXPORT double ExpectaVersionNumber;
46 | FOUNDATION_EXPORT const unsigned char ExpectaVersionString[];
47 |
48 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Expecta/Expecta.modulemap:
--------------------------------------------------------------------------------
1 | framework module Expecta {
2 | umbrella header "Expecta-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Expecta/Expecta.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Expecta
2 | ENABLE_BITCODE = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
6 | OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
7 | PODS_BUILD_DIR = $BUILD_DIR
8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Expecta/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.5
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Example/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Example/Pods-AFNetworking3-RACExtensions_Example-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_AFNetworking3_RACExtensions_Example : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_AFNetworking3_RACExtensions_Example
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Example/Pods-AFNetworking3-RACExtensions_Example-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
6 | FOUNDATION_EXPORT double Pods_AFNetworking3_RACExtensions_ExampleVersionNumber;
7 | FOUNDATION_EXPORT const unsigned char Pods_AFNetworking3_RACExtensions_ExampleVersionString[];
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Example/Pods-AFNetworking3-RACExtensions_Example.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions" "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions/AFNetworking3_RACExtensions.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa/ReactiveCocoa.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "AFNetworking3_RACExtensions" -framework "ReactiveCocoa"
7 | PODS_BUILD_DIR = $BUILD_DIR
8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}/Pods
10 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Example/Pods-AFNetworking3-RACExtensions_Example.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_AFNetworking3_RACExtensions_Example {
2 | umbrella header "Pods-AFNetworking3-RACExtensions_Example-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Example/Pods-AFNetworking3-RACExtensions_Example.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions" "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions/AFNetworking3_RACExtensions.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa/ReactiveCocoa.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "AFNetworking" -framework "AFNetworking3_RACExtensions" -framework "ReactiveCocoa"
7 | PODS_BUILD_DIR = $BUILD_DIR
8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}/Pods
10 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Tests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Tests/Pods-AFNetworking3-RACExtensions_Tests-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods_AFNetworking3_RACExtensions_Tests : NSObject
3 | @end
4 | @implementation PodsDummy_Pods_AFNetworking3_RACExtensions_Tests
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Tests/Pods-AFNetworking3-RACExtensions_Tests-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
6 | FOUNDATION_EXPORT double Pods_AFNetworking3_RACExtensions_TestsVersionNumber;
7 | FOUNDATION_EXPORT const unsigned char Pods_AFNetworking3_RACExtensions_TestsVersionString[];
8 |
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Tests/Pods-AFNetworking3-RACExtensions_Tests.debug.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Expecta" "$PODS_CONFIGURATION_BUILD_DIR/Specta" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions" "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Expecta/Expecta.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Specta/Specta.framework/Headers" $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions/AFNetworking3_RACExtensions.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa/ReactiveCocoa.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Specta"
7 | PODS_BUILD_DIR = $BUILD_DIR
8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}/Pods
10 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Tests/Pods-AFNetworking3-RACExtensions_Tests.modulemap:
--------------------------------------------------------------------------------
1 | framework module Pods_AFNetworking3_RACExtensions_Tests {
2 | umbrella header "Pods-AFNetworking3-RACExtensions_Tests-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Pods-AFNetworking3-RACExtensions_Tests/Pods-AFNetworking3-RACExtensions_Tests.release.xcconfig:
--------------------------------------------------------------------------------
1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO
2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Expecta" "$PODS_CONFIGURATION_BUILD_DIR/Specta" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking" "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions" "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa"
3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Expecta/Expecta.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Specta/Specta.framework/Headers" $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking/AFNetworking.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/AFNetworking3-RACExtensions/AFNetworking3_RACExtensions.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa/ReactiveCocoa.framework/Headers"
6 | OTHER_LDFLAGS = $(inherited) -framework "Expecta" -framework "Specta"
7 | PODS_BUILD_DIR = $BUILD_DIR
8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}/Pods
10 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/ReactiveCocoa/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 2.5.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/ReactiveCocoa/ReactiveCocoa-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_ReactiveCocoa : NSObject
3 | @end
4 | @implementation PodsDummy_ReactiveCocoa
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/ReactiveCocoa/ReactiveCocoa-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/ReactiveCocoa/ReactiveCocoa.modulemap:
--------------------------------------------------------------------------------
1 | framework module ReactiveCocoa {
2 | umbrella header "ReactiveCocoa-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/ReactiveCocoa/ReactiveCocoa.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/ReactiveCocoa
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
4 | PODS_BUILD_DIR = $BUILD_DIR
5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
6 | PODS_ROOT = ${SRCROOT}
7 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
8 | SKIP_INSTALL = YES
9 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Specta/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | ${PRODUCT_BUNDLE_IDENTIFIER}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0.5
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | ${CURRENT_PROJECT_VERSION}
23 | NSPrincipalClass
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Specta/Specta-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Specta : NSObject
3 | @end
4 | @implementation PodsDummy_Specta
5 | @end
6 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Specta/Specta-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Specta/Specta-umbrella.h:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 | #import "Specta.h"
6 | #import "SpectaDSL.h"
7 | #import "SpectaTypes.h"
8 | #import "SpectaUtility.h"
9 | #import "SPTCallSite.h"
10 | #import "SPTCompiledExample.h"
11 | #import "SPTExample.h"
12 | #import "SPTExampleGroup.h"
13 | #import "SPTExcludeGlobalBeforeAfterEach.h"
14 | #import "SPTGlobalBeforeAfterEach.h"
15 | #import "SPTSharedExampleGroups.h"
16 | #import "SPTSpec.h"
17 | #import "SPTTestSuite.h"
18 | #import "XCTest+Private.h"
19 | #import "XCTestCase+Specta.h"
20 |
21 | FOUNDATION_EXPORT double SpectaVersionNumber;
22 | FOUNDATION_EXPORT const unsigned char SpectaVersionString[];
23 |
24 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Specta/Specta.modulemap:
--------------------------------------------------------------------------------
1 | framework module Specta {
2 | umbrella header "Specta-umbrella.h"
3 |
4 | export *
5 | module * { export * }
6 | }
7 |
--------------------------------------------------------------------------------
/Example/Pods/Target Support Files/Specta/Specta.xcconfig:
--------------------------------------------------------------------------------
1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Specta
2 | ENABLE_BITCODE = NO
3 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
4 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
5 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
6 | OTHER_LDFLAGS = -framework "Foundation" -framework "XCTest"
7 | PODS_BUILD_DIR = $BUILD_DIR
8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
9 | PODS_ROOT = ${SRCROOT}
10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
11 | SKIP_INSTALL = YES
12 |
--------------------------------------------------------------------------------
/Example/Tests/Tests-Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | ${EXECUTABLE_NAME}
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundlePackageType
14 | BNDL
15 | CFBundleShortVersionString
16 | 1.0
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Example/Tests/Tests-Prefix.pch:
--------------------------------------------------------------------------------
1 | // The contents of this file are implicitly included at the beginning of every test case source file.
2 |
3 | #ifdef __OBJC__
4 |
5 | @import Specta;
6 | @import Expecta;
7 |
8 | #endif
9 |
--------------------------------------------------------------------------------
/Example/Tests/Tests.m:
--------------------------------------------------------------------------------
1 | //
2 | // AFNetworking3-RACExtensionsTests.m
3 | // AFNetworking3-RACExtensionsTests
4 | //
5 | // Created by MakeItEasy on 12/23/2016.
6 | // Copyright (c) 2016 MakeItEasy. All rights reserved.
7 | //
8 |
9 | // https://github.com/Specta/Specta
10 |
11 | SpecBegin(InitialSpecs)
12 |
13 | //describe(@"these will fail", ^{
14 | //
15 | // it(@"can do maths", ^{
16 | // expect(1).to.equal(2);
17 | // });
18 | //
19 | // it(@"can read", ^{
20 | // expect(@"number").to.equal(@"string");
21 | // });
22 | //
23 | // it(@"will wait for 10 seconds and fail", ^{
24 | // waitUntil(^(DoneCallback done) {
25 | //
26 | // });
27 | // });
28 | //});
29 |
30 | describe(@"these will pass", ^{
31 |
32 | it(@"can do maths", ^{
33 | expect(1).beLessThan(23);
34 | });
35 |
36 | it(@"can read", ^{
37 | expect(@"team").toNot.contain(@"I");
38 | });
39 |
40 | it(@"will wait and succeed", ^{
41 | waitUntil(^(DoneCallback done) {
42 | done();
43 | });
44 | });
45 | });
46 |
47 | SpecEnd
48 |
49 |
--------------------------------------------------------------------------------
/Example/Tests/en.lproj/InfoPlist.strings:
--------------------------------------------------------------------------------
1 | /* Localized versions of Info.plist keys */
2 |
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016 MakeItEasy
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AFNetworking3-RACExtensions
2 |
3 | [](https://travis-ci.org/MakeItEasy/AFNetworking3-RACExtensions)
4 | []()
5 |
6 | ## Introduction
7 |
8 | 这个pod是用来给AFNetworking 3.x版本添加RAC扩展用的。
9 |
10 | github中有个库叫 [AFNetworking-RACExtensions](https://github.com/CodaFi/AFNetworking-RACExtensions) ,
11 | 可以给AFNetworking加上RAC的扩展,但是由于该库已经不再维护,而该库目前只支持到AFNetworking2.x版本,
12 | 所以参考 `AFNetworking-RACExtensions` 写了这个库。
13 | 因为AFNetworking 3.0开始完全放弃了对 `NSURLConnection` 的支持,而全面改用 `NSURLSession`。
14 |
15 | ## Example
16 |
17 | To run the example project, clone the repo, and run `pod install` from the Example directory first.
18 |
19 | ## Requirements
20 |
21 | * [AFNetworking](https://github.com/AFNetworking/AFNetworking) '~> 3.0'
22 | * [ReactiveCocoa](https://github.com/ReactiveCocoa/ReactiveCocoa) '~> 2.0'
23 |
24 | ## Installation
25 |
26 | AFNetworking3-RACExtensions 目前没有提交到 [CocoaPods](http://cocoapods.org)。 To install
27 | it, simply add the following line to your Podfile:
28 |
29 | ```ruby
30 | pod "AFNetworking3-RACExtensions", :git => 'https://github.com/MakeItEasy/AFNetworking3-RACExtensions.git', :tag => '0.1.0'
31 | ```
32 |
33 | ## TODOs
34 |
35 | * 添加示例代码
36 | * 提交到cocoapods库
37 |
38 | ## Author
39 |
40 | MakeItEasy, rugang6891@gmail.com
41 |
42 | Blog: http://makeiteasy.github.io
43 |
44 | ## License
45 |
46 | AFNetworking3-RACExtensions is available under the MIT license. See the LICENSE file for more info.
47 |
--------------------------------------------------------------------------------
/_Pods.xcodeproj:
--------------------------------------------------------------------------------
1 | Example/Pods/Pods.xcodeproj
--------------------------------------------------------------------------------