blob: fd6778cb67df4c0f0626bca547c7159db3fa4177 [file] [log] [blame] [edit]
//
// RACErrorSignal.m
// ReactiveCocoa
//
// Created by Justin Spahr-Summers on 2013-10-10.
// Copyright (c) 2013 GitHub, Inc. All rights reserved.
//
#import "RACErrorSignal.h"
#import "RACScheduler+Private.h"
#import "RACSubscriber.h"
@interface RACErrorSignal ()
// The error to send upon subscription.
@property (nonatomic, strong, readonly) NSError *error;
@end
@implementation RACErrorSignal
#pragma mark Lifecycle
+ (RACSignal *)error:(NSError *)error {
RACErrorSignal *signal = [[self alloc] init];
signal->_error = error;
#ifdef DEBUG
[signal setNameWithFormat:@"+error: %@", error];
#else
signal.name = @"+error:";
#endif
return signal;
}
#pragma mark Subscription
- (RACDisposable *)subscribe:(id<RACSubscriber>)subscriber {
NSCParameterAssert(subscriber != nil);
return [RACScheduler.subscriptionScheduler schedule:^{
[subscriber sendError:self.error];
}];
}
@end