/
RamblerViperModuleFabric.m
42 lines (31 loc) · 1.41 KB
/
RamblerViperModuleFabric.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//
// RamblerViperModuleFabric.m
// ViperMcFlurry
//
// Created by Andrey Zarembo-Godzyatsky on 21/08/15.
// Copyright (c) 2015 Rambler DS. All rights reserved.
//
#import "RamblerViperModuleFabric.h"
#import "RamblerViperModuleFabricInstantiationPromise.h"
#import "RamblerViperModuleTransitionHandlerProtocol.h"
@interface RamblerViperModuleFabric ()
@property (nonatomic,strong) UIStoryboard *storyboard;
@property (nonatomic,strong) NSString* restorationId;
@end
@implementation RamblerViperModuleFabric
- (instancetype)initWithStoryboard:(UIStoryboard*)storyboard andRestorationId:(NSString*)restorationId {
self = [super init];
if (self) {
self.storyboard = storyboard;
self.restorationId = restorationId;
}
return self;
}
#pragma mark - RDSModuleFabricProtocol
- (id<RamblerViperModuleFabricInstantiationPromiseProtocol>)instantiateModuleFromTransitionHandler:(id<RamblerViperModuleTransitionHandlerProtocol>)transitionHandler {
id destinationViewController = [self.storyboard instantiateViewControllerWithIdentifier:self.restorationId];
RamblerViperModuleFabricInstantiationPromise * promise = [[RamblerViperModuleFabricInstantiationPromise alloc] initWithSourceViewController:transitionHandler
andDestinationViewController:destinationViewController];
return promise;
}
@end