vipergen 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -0
- data/lib/templates/default/objc/DataManager/API/VIPERAPIDataManager.h +12 -0
- data/lib/templates/default/objc/DataManager/API/VIPERAPIDataManager.m +10 -0
- data/lib/templates/default/objc/DataManager/Local/VIPERLocalDataManager.h +12 -0
- data/lib/templates/default/objc/DataManager/Local/VIPERLocalDataManager.m +10 -0
- data/lib/templates/default/objc/Interactor/VIPERInteractor.h +4 -4
- data/lib/templates/default/objc/Interactor/VIPERInteractor.m +1 -1
- data/lib/templates/default/objc/Interactor/VIPERItem.h +13 -0
- data/lib/templates/default/objc/Interactor/VIPERItem.m +13 -0
- data/lib/templates/default/objc/Presenter/VIPERPresenter.h +2 -3
- data/lib/templates/default/objc/Presenter/VIPERPresenter.m +1 -1
- data/lib/templates/default/objc/Protocols/VIPERProtocols.h +28 -12
- data/lib/templates/default/objc/{ViewController/VIPERViewController.h → View/VIPERView.h} +2 -2
- data/lib/templates/default/objc/{ViewController/VIPERViewController.m → View/VIPERView.m} +3 -3
- data/lib/templates/default/objc/WireFrame/VIPERWireFrame.h +6 -9
- data/lib/templates/default/objc/WireFrame/VIPERWireFrame.m +11 -11
- data/lib/templates/default/swift/DataManager/API/VIPERAPIDataManager.swift +14 -0
- data/lib/templates/default/swift/DataManager/Local/VIPERLocalDataManager.swift +14 -0
- data/lib/templates/default/swift/Interactor/VIPERInteractor.swift +18 -0
- data/lib/templates/default/swift/Interactor/VIPERItem.swift +16 -0
- data/lib/templates/default/swift/Presenter/VIPERPresenter.swift +18 -0
- data/lib/templates/default/swift/Protocols/VIPERProtocols.swift +45 -21
- data/lib/templates/default/swift/View/VIPERView.swift +15 -0
- data/lib/templates/default/swift/WireFrame/VIPERWireFrame.swift +32 -0
- data/lib/vipergen/version.rb +2 -2
- data/spec/vipergen/vipergen_spec.rb +6 -6
- metadata +17 -6
- data/lib/templates/default/objc/DataManager/VIPERDataManager.h +0 -15
- data/lib/templates/default/objc/DataManager/VIPERDataManager.m +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0e9a2fe1c4464f75cd7dfa761e575b2111d9dc7
|
4
|
+
data.tar.gz: 6d674ca32c2ae04c1630e785e7306d45b1d8cb76
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f062cf785ee645e99a3980bee3dc717c6652097d7a88a35c1ff7eeec3a3bfcb39f00f751ac94ac981d9ee8e042df6958af8b814bf75928395fc4439f4ea3268
|
7
|
+
data.tar.gz: e904e13533cdb6fe616896cf07e8b63a0543ecfec9ca9fb95237259f396895b560c5fecb414252196a7c469242f8e6755ff812bbcf6b38b813871fa32ad65929
|
data/README.md
CHANGED
@@ -118,6 +118,7 @@ updated_at: 2014-08-24
|
|
118
118
|
- XCode Plugins: http://nshipster.com/xcode-plugins/
|
119
119
|
- XCodeProj gem (to modify project groups structure): https://github.com/CocoaPods/Xcodeproj
|
120
120
|
- Thor, powerful Ruby library for command line: http://whatisthor.com/
|
121
|
+
- Cocoa Design Patters: https://developer.apple.com/legacy/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaDesignPatterns/CocoaDesignPatterns.html
|
121
122
|
|
122
123
|
## Contact
|
123
124
|
If you have any doubt about the gem or even if you want to make any suggestion you can do it directly to my email address, pedro@redbooth.com . You can use the issues Github page too
|
@@ -0,0 +1,12 @@
|
|
1
|
+
//
|
2
|
+
// Created by Pedro Piñera Buendía on 2014.
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
|
+
//
|
5
|
+
|
6
|
+
#import <Foundation/Foundation.h>
|
7
|
+
#import "VIPERProtocols.h"
|
8
|
+
|
9
|
+
|
10
|
+
@interface VIPERAPIDataManager : NSObject <VIPERAPIDataManagerInputProtocol>
|
11
|
+
|
12
|
+
@end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
//
|
2
|
+
// Created by Pedro Piñera Buendía on 2014.
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
|
+
//
|
5
|
+
|
6
|
+
#import <Foundation/Foundation.h>
|
7
|
+
#import "VIPERProtocols.h"
|
8
|
+
|
9
|
+
|
10
|
+
@interface VIPERLocalDataManager : NSObject <VIPERLocalDataManagerInputProtocol>
|
11
|
+
|
12
|
+
@end
|
@@ -1,16 +1,16 @@
|
|
1
1
|
//
|
2
2
|
// Created by Pedro Piñera Buendía on 2014.
|
3
|
-
// Copyright (c) 2014
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
4
|
//
|
5
5
|
|
6
6
|
#import <Foundation/Foundation.h>
|
7
7
|
#import "VIPERProtocols.h"
|
8
8
|
|
9
9
|
|
10
|
-
@interface VIPERInteractor : NSObject <VIPERInteractorInputProtocol
|
10
|
+
@interface VIPERInteractor : NSObject <VIPERInteractorInputProtocol>
|
11
11
|
|
12
|
-
// Properties
|
13
12
|
@property (nonatomic, weak) id <VIPERInteractorOutputProtocol> presenter;
|
14
|
-
@property (nonatomic, strong) id <
|
13
|
+
@property (nonatomic, strong) id <VIPERAPIDataManagerInputProtocol> APIDataManager;
|
14
|
+
@property (nonatomic, strong) id <VIPERLocalDataManagerInputProtocol> localDataManager;
|
15
15
|
|
16
16
|
@end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
//
|
2
2
|
// Created by Pedro Piñera Buendía on 2014.
|
3
|
-
// Copyright (c) 2014
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
4
|
//
|
5
5
|
|
6
6
|
#import <Foundation/Foundation.h>
|
@@ -10,9 +10,8 @@
|
|
10
10
|
|
11
11
|
@interface VIPERPresenter : NSObject <VIPERPresenterProtocol, VIPERInteractorOutputProtocol>
|
12
12
|
|
13
|
-
// Properties
|
14
13
|
@property (nonatomic, weak) id <VIPERViewProtocol> view;
|
15
14
|
@property (nonatomic, strong) id <VIPERInteractorInputProtocol> interactor;
|
16
|
-
@property (nonatomic, strong)
|
15
|
+
@property (nonatomic, strong) id <VIPERWireFrameProtocol> wireFrame;
|
17
16
|
|
18
17
|
@end
|
@@ -1,26 +1,34 @@
|
|
1
1
|
//
|
2
2
|
// Created by Pedro Piñera Buendía on 2014.
|
3
|
-
// Copyright (c) 2014
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
4
|
//
|
5
5
|
|
6
6
|
#import <Foundation/Foundation.h>
|
7
7
|
#import <UIKit/UIKit.h>
|
8
8
|
|
9
|
-
@protocol VIPERDataManagerOutputProtocol;
|
10
9
|
@protocol VIPERInteractorOutputProtocol;
|
11
10
|
@protocol VIPERInteractorInputProtocol;
|
12
11
|
@protocol VIPERViewProtocol;
|
13
12
|
@protocol VIPERPresenterProtocol;
|
14
|
-
@protocol
|
15
|
-
@
|
13
|
+
@protocol VIPERLocalDataManagerInputProtocol;
|
14
|
+
@protocol VIPERAPIDataManagerInputProtocol;
|
15
|
+
|
16
16
|
|
17
|
-
|
17
|
+
@class VIPERWireFrame;
|
18
18
|
|
19
19
|
@protocol VIPERViewProtocol
|
20
20
|
@required
|
21
21
|
@property (nonatomic, strong) id <VIPERPresenterProtocol> presenter;
|
22
22
|
/**
|
23
|
-
* Add here your methods for communication
|
23
|
+
* Add here your methods for communication PRESENTER -> VIEWCONTROLLER
|
24
|
+
*/
|
25
|
+
@end
|
26
|
+
|
27
|
+
@protocol VIPERWireFrameProtocol
|
28
|
+
@required
|
29
|
+
+ (void)presentVIPERModuleFrom:(id)fromView;
|
30
|
+
/**
|
31
|
+
* Add here your methods for communication PRESENTER -> WIREFRAME
|
24
32
|
*/
|
25
33
|
@end
|
26
34
|
|
@@ -28,9 +36,9 @@ typedef void (^CompletionBlock)(NSError **error);
|
|
28
36
|
@required
|
29
37
|
@property (nonatomic, weak) id <VIPERViewProtocol> view;
|
30
38
|
@property (nonatomic, strong) id <VIPERInteractorInputProtocol> interactor;
|
31
|
-
@property (nonatomic, strong)
|
39
|
+
@property (nonatomic, strong) id <VIPERWireFrameProtocol> wireFrame;
|
32
40
|
/**
|
33
|
-
* Add here your methods for communication VIEWCONTROLLER
|
41
|
+
* Add here your methods for communication VIEWCONTROLLER -> PRESENTER
|
34
42
|
*/
|
35
43
|
@end
|
36
44
|
|
@@ -43,6 +51,8 @@ typedef void (^CompletionBlock)(NSError **error);
|
|
43
51
|
@protocol VIPERInteractorInputProtocol
|
44
52
|
@required
|
45
53
|
@property (nonatomic, weak) id <VIPERInteractorOutputProtocol> presenter;
|
54
|
+
@property (nonatomic, strong) id <VIPERAPIDataManagerInputProtocol> APIDataManager;
|
55
|
+
@property (nonatomic, strong) id <VIPERLocalDataManagerInputProtocol> localDataManager;
|
46
56
|
/**
|
47
57
|
* Add here your methods for communication PRESENTER -> INTERACTOR
|
48
58
|
*/
|
@@ -50,15 +60,21 @@ typedef void (^CompletionBlock)(NSError **error);
|
|
50
60
|
|
51
61
|
|
52
62
|
@protocol VIPERDataManagerInputProtocol
|
53
|
-
@property (nonatomic, weak) id <VIPERDataManagerOutputProtocol> interactor;
|
54
63
|
/**
|
55
64
|
* Add here your methods for communication INTERACTOR -> DATAMANAGER
|
56
65
|
*/
|
57
66
|
@end
|
58
67
|
|
59
|
-
@protocol
|
60
|
-
|
68
|
+
@protocol VIPERAPIDataManagerInputProtocol <VIPERDataManagerInputProtocol>
|
69
|
+
/**
|
70
|
+
* Add here your methods for communication INTERACTOR -> APIDATAMANAGER
|
71
|
+
*/
|
72
|
+
@end
|
73
|
+
|
74
|
+
@protocol VIPERLocalDataManagerInputProtocol <VIPERDataManagerInputProtocol>
|
61
75
|
/**
|
62
|
-
* Add here your methods for communication
|
76
|
+
* Add here your methods for communication INTERACTOR -> LOCLDATAMANAGER
|
63
77
|
*/
|
64
78
|
@end
|
79
|
+
|
80
|
+
|
@@ -1,12 +1,12 @@
|
|
1
1
|
//
|
2
2
|
// Created by Pedro Piñera Buendía on 2014.
|
3
|
-
// Copyright (c) 2014
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
4
|
//
|
5
5
|
|
6
6
|
#import <UIKit/UIKit.h>
|
7
7
|
#import "VIPERProtocols.h"
|
8
8
|
|
9
|
-
@interface
|
9
|
+
@interface VIPERView : UIViewController <VIPERViewProtocol>
|
10
10
|
|
11
11
|
@property (nonatomic, strong) id <VIPERPresenterProtocol> presenter;
|
12
12
|
|
@@ -1,11 +1,11 @@
|
|
1
1
|
//
|
2
2
|
// Created by Pedro Piñera Buendía on 2014.
|
3
|
-
// Copyright (c) 2014
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
4
|
//
|
5
5
|
|
6
|
-
#import "
|
6
|
+
#import "VIPERView.h"
|
7
7
|
|
8
|
-
@implementation
|
8
|
+
@implementation VIPERView
|
9
9
|
|
10
10
|
#pragma mark - ViewController Lifecycle
|
11
11
|
|
@@ -1,21 +1,18 @@
|
|
1
1
|
//
|
2
2
|
// Created by Pedro Piñera Buendía on 2014.
|
3
|
-
// Copyright (c) 2014
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
4
|
//
|
5
5
|
|
6
6
|
#import <Foundation/Foundation.h>
|
7
7
|
#import "VIPERProtocols.h"
|
8
|
-
#import "
|
9
|
-
#import "
|
8
|
+
#import "VIPERView.h"
|
9
|
+
#import "VIPERLocalDataManager.h"
|
10
|
+
#import "VIPERAPIDataManager.h"
|
10
11
|
#import "VIPERInteractor.h"
|
11
12
|
#import "VIPERPresenter.h"
|
12
13
|
#import "VIPERWireframe.h"
|
13
14
|
#import <UIKit/UIKit.h>
|
14
15
|
|
15
|
-
@interface VIPERWireFrame : NSObject
|
16
|
+
@interface VIPERWireFrame : NSObject <VIPERWireFrameProtocol>
|
16
17
|
|
17
|
-
@
|
18
|
-
|
19
|
-
+ (void)presentVIPERModuleFrom:(id)fromView;
|
20
|
-
|
21
|
-
@end
|
18
|
+
@end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
//
|
2
2
|
// Created by Pedro Piñera Buendía on 2014.
|
3
|
-
// Copyright (c) 2014
|
3
|
+
// Copyright (c) 2014 PPinera. All rights reserved.
|
4
4
|
//
|
5
5
|
|
6
6
|
#import "VIPERWireFrame.h"
|
@@ -10,22 +10,22 @@
|
|
10
10
|
+ (void)presentVIPERModuleFrom:(UIViewController*)fromViewController
|
11
11
|
{
|
12
12
|
// Generating module components
|
13
|
-
|
13
|
+
id <VIPERViewProtocol> view = [[VIPERView alloc] init];
|
14
14
|
id <VIPERPresenterProtocol, VIPERInteractorOutputProtocol> presenter = [VIPERPresenter new];
|
15
|
-
id <VIPERInteractorInputProtocol
|
16
|
-
id <
|
17
|
-
|
15
|
+
id <VIPERInteractorInputProtocol> interactor = [VIPERInteractor new];
|
16
|
+
id <VIPERAPIDataManagerInputProtocol> APIDataManager = [VIPERAPIDataManager new];
|
17
|
+
id <VIPERLocalDataManagerInputProtocol> localDataManager = [VIPERLocalDataManager new];
|
18
|
+
id <VIPERWireFrameProtocol> wireFrame= [VIPERWireFrame new];
|
18
19
|
|
19
20
|
// Connecting
|
20
|
-
|
21
|
-
presenter.view =
|
21
|
+
view.presenter = presenter;
|
22
|
+
presenter.view = view;
|
22
23
|
presenter.wireFrame = wireFrame;
|
23
|
-
wireFrame.view = viewController;
|
24
24
|
presenter.interactor = interactor;
|
25
25
|
interactor.presenter = presenter;
|
26
|
-
interactor.
|
27
|
-
|
28
|
-
|
26
|
+
interactor.APIDataManager = APIDataManager;
|
27
|
+
interactor.localDataManager = localDataManager;
|
28
|
+
|
29
29
|
//TOODO - New view controller presentation (present, push, pop, .. )
|
30
30
|
}
|
31
31
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
//
|
2
|
+
// VIPERAPIDataManager.swift
|
3
|
+
// VIPERGenDemo
|
4
|
+
//
|
5
|
+
// Created by Pedro Piñera Buendía on 24/10/14.
|
6
|
+
// Copyright (c) 2014 ___Redbooth___. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
import Foundation
|
10
|
+
|
11
|
+
class VIPERAPIDataManager: VIPERAPIDataManagerInputProtocol
|
12
|
+
{
|
13
|
+
init() {}
|
14
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
//
|
2
|
+
// VIPERLocalDataManager.swift
|
3
|
+
// VIPERGenDemo
|
4
|
+
//
|
5
|
+
// Created by Pedro Piñera Buendía on 24/10/14.
|
6
|
+
// Copyright (c) 2014 ___Redbooth___. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
import Foundation
|
10
|
+
|
11
|
+
class VIPERLocalDataManager: VIPERLocalDataManagerInputProtocol
|
12
|
+
{
|
13
|
+
init() {}
|
14
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
//
|
2
|
+
// VIPERInteractor.swift
|
3
|
+
// VIPERGenDemo
|
4
|
+
//
|
5
|
+
// Created by Pedro Piñera Buendía on 24/10/14.
|
6
|
+
// Copyright (c) 2014 ___Redbooth___. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
import Foundation
|
10
|
+
|
11
|
+
class VIPERInteractor: VIPERInteractorInputProtocol
|
12
|
+
{
|
13
|
+
weak var presenter: VIPERInteractorOutputProtocol?
|
14
|
+
var APIDataManager: VIPERAPIDataManagerInputProtocol?
|
15
|
+
var localDatamanager: VIPERLocalDataManagerInputProtocol?
|
16
|
+
|
17
|
+
init() {}
|
18
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
//
|
2
|
+
// VIPERItem.swift
|
3
|
+
// VIPERGenDemo
|
4
|
+
//
|
5
|
+
// Created by Pedro Piñera Buendía on 24/10/14.
|
6
|
+
// Copyright (c) 2014 ___Redbooth___. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
import Foundation
|
10
|
+
|
11
|
+
struct VIPERItem
|
12
|
+
{
|
13
|
+
/**
|
14
|
+
* Attributes here
|
15
|
+
*/
|
16
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
//
|
2
|
+
// VIPERPresenter.swift
|
3
|
+
// VIPERGenDemo
|
4
|
+
//
|
5
|
+
// Created by Pedro Piñera Buendía on 24/10/14.
|
6
|
+
// Copyright (c) 2014 ___Redbooth___. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
import Foundation
|
10
|
+
|
11
|
+
class VIPERPresenter: VIPERPresenterProtocol, VIPERInteractorOutputProtocol
|
12
|
+
{
|
13
|
+
weak var view: VIPERViewProtocol?
|
14
|
+
var interactor: VIPERInteractorInputProtocol?
|
15
|
+
var wireFrame: VIPERWireFrameProtocol?
|
16
|
+
|
17
|
+
init() {}
|
18
|
+
}
|
@@ -6,44 +6,68 @@
|
|
6
6
|
// Copyright (c) 2014 ___Redbooth___. All rights reserved.
|
7
7
|
//
|
8
8
|
|
9
|
-
|
9
|
+
import Foundation
|
10
10
|
|
11
|
-
protocol
|
11
|
+
protocol VIPERViewProtocol: class
|
12
12
|
{
|
13
|
-
var
|
14
|
-
|
15
|
-
|
13
|
+
var presenter: VIPERPresenterProtocol? { get set }
|
14
|
+
/**
|
15
|
+
* Add here your methods for communication VIEWCONTROLLER -> PRESENTER
|
16
|
+
*/
|
17
|
+
}
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
+
protocol VIPERWireFrameProtocol: class
|
20
|
+
{
|
21
|
+
class func presentVIPERModule(fromView view: AnyObject)
|
22
|
+
/**
|
23
|
+
* Add here your methods for communication PRESENTER -> WIREFRAME
|
24
|
+
*/
|
19
25
|
}
|
20
26
|
|
21
|
-
protocol
|
27
|
+
protocol VIPERPresenterProtocol: class
|
22
28
|
{
|
23
|
-
|
29
|
+
var view: VIPERViewProtocol? { get set }
|
30
|
+
var interactor: VIPERInteractorInputProtocol? { get set }
|
31
|
+
var wireFrame: VIPERWireFrameProtocol? { get set }
|
32
|
+
/**
|
33
|
+
* Add here your methods for communication VIEWCONTROLLER -> PRESENTER
|
34
|
+
*/
|
24
35
|
}
|
25
36
|
|
26
|
-
protocol
|
37
|
+
protocol VIPERInteractorOutputProtocol: class
|
27
38
|
{
|
28
|
-
|
39
|
+
/**
|
40
|
+
* Add here your methods for communication INTERACTOR -> PRESENTER
|
41
|
+
*/
|
29
42
|
}
|
30
43
|
|
31
|
-
protocol
|
44
|
+
protocol VIPERInteractorInputProtocol: class
|
32
45
|
{
|
33
|
-
|
46
|
+
var presenter: VIPERInteractorOutputProtocol? { get set }
|
47
|
+
var APIDataManager: VIPERAPIDataManagerInputProtocol? { get set }
|
48
|
+
var localDatamanager: VIPERLocalDataManagerInputProtocol? { get set }
|
49
|
+
/**
|
50
|
+
* Add here your methods for communication PRESENTER -> INTERACTOR
|
51
|
+
*/
|
34
52
|
}
|
35
53
|
|
54
|
+
protocol VIPERDataManagerInputProtocol: class
|
55
|
+
{
|
56
|
+
/**
|
57
|
+
* Add here your methods for communication INTERACTOR -> DATAMANAGER
|
58
|
+
*/
|
59
|
+
}
|
36
60
|
|
37
|
-
protocol
|
61
|
+
protocol VIPERAPIDataManagerInputProtocol: class
|
38
62
|
{
|
39
|
-
|
40
|
-
|
63
|
+
/**
|
64
|
+
* Add here your methods for communication INTERACTOR -> APIDATAMANAGER
|
65
|
+
*/
|
41
66
|
}
|
42
67
|
|
43
|
-
protocol
|
68
|
+
protocol VIPERLocalDataManagerInputProtocol: class
|
44
69
|
{
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
/* Presenter -> Interactor */
|
70
|
+
/**
|
71
|
+
* Add here your methods for communication INTERACTOR -> APIDATAMANAGER
|
72
|
+
*/
|
49
73
|
}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
//
|
2
|
+
// VIPERView.swift
|
3
|
+
// VIPERGenDemo
|
4
|
+
//
|
5
|
+
// Created by Pedro Piñera Buendía on 24/10/14.
|
6
|
+
// Copyright (c) 2014 ___Redbooth___. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
import Foundation
|
10
|
+
import UIKit
|
11
|
+
|
12
|
+
class VIPERView: UIViewController, VIPERViewProtocol
|
13
|
+
{
|
14
|
+
var presenter: VIPERPresenterProtocol?
|
15
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
//
|
2
|
+
// VIPERWireFrame.swift
|
3
|
+
// VIPERGenDemo
|
4
|
+
//
|
5
|
+
// Created by Pedro Piñera Buendía on 24/10/14.
|
6
|
+
// Copyright (c) 2014 ___Redbooth___. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
import Foundation
|
10
|
+
|
11
|
+
class VIPERWireFrame: VIPERWireFrameProtocol
|
12
|
+
{
|
13
|
+
class func presentVIPERModule(fromView view: AnyObject)
|
14
|
+
{
|
15
|
+
// Generating module components
|
16
|
+
var view: VIPERViewProtocol = VIPERView()
|
17
|
+
var presenter: protocol<VIPERPresenterProtocol, VIPERInteractorOutputProtocol> = VIPERPresenter()
|
18
|
+
var interactor: VIPERInteractorInputProtocol = VIPERInteractor()
|
19
|
+
var APIDataManager: VIPERAPIDataManagerInputProtocol = VIPERAPIDataManager()
|
20
|
+
var localDataManager: VIPERLocalDataManagerInputProtocol = VIPERLocalDataManager()
|
21
|
+
var wireFrame: VIPERWireFrameProtocol = VIPERWireFrame()
|
22
|
+
|
23
|
+
// Connecting
|
24
|
+
view.presenter = presenter
|
25
|
+
presenter.view = view
|
26
|
+
presenter.wireFrame = wireFrame
|
27
|
+
presenter.interactor = interactor
|
28
|
+
interactor.presenter = presenter
|
29
|
+
interactor.APIDataManager = APIDataManager
|
30
|
+
interactor.localDatamanager = localDataManager
|
31
|
+
}
|
32
|
+
}
|
data/lib/vipergen/version.rb
CHANGED
@@ -44,7 +44,7 @@ end
|
|
44
44
|
describe Vipergen::Generator do
|
45
45
|
context "when renaming file content" do
|
46
46
|
before (:each) do
|
47
|
-
File.open("test.txt", 'w') {|f| f.write("I'm a #{Vipergen::Generator
|
47
|
+
File.open("test.txt", 'w') {|f| f.write("I'm a #{Vipergen::Generator::REPLACEMENT_KEY} file") }
|
48
48
|
end
|
49
49
|
|
50
50
|
it "should rename every VIPER word to the given name" do
|
@@ -61,12 +61,12 @@ describe Vipergen::Generator do
|
|
61
61
|
|
62
62
|
context "when renaming file" do
|
63
63
|
before (:each) do
|
64
|
-
File.open("#{Vipergen::Generator
|
64
|
+
File.open("#{Vipergen::Generator::REPLACEMENT_KEY}test.txt", 'w') {|f| f.write("I'm a #{Vipergen::Generator::REPLACEMENT_KEY} file") }
|
65
65
|
end
|
66
66
|
|
67
67
|
it "every file should be renamed in rename_files" do
|
68
68
|
expect(Vipergen::Generator).to receive(:rename_file)
|
69
|
-
Vipergen::Generator.rename_files(["#{Vipergen::Generator
|
69
|
+
Vipergen::Generator.rename_files(["#{Vipergen::Generator::REPLACEMENT_KEY}file.txt"], "pepito")
|
70
70
|
end
|
71
71
|
|
72
72
|
it "should raise a SyntaxError exeption if there's a file in the template without the proper name" do
|
@@ -74,21 +74,21 @@ describe Vipergen::Generator do
|
|
74
74
|
end
|
75
75
|
|
76
76
|
it "should rename the VIPER in name to the given name" do
|
77
|
-
file = "#{Vipergen::Generator
|
77
|
+
file = "#{Vipergen::Generator::REPLACEMENT_KEY}test.txt"
|
78
78
|
name = "RENAMED"
|
79
79
|
Vipergen::Generator.rename_file(file, name)
|
80
80
|
expect(File.exist? "RENAMEDtest.txt").to eq(true)
|
81
81
|
end
|
82
82
|
|
83
83
|
it "should rename the file content after the file name rename" do
|
84
|
-
file = "#{Vipergen::Generator
|
84
|
+
file = "#{Vipergen::Generator::REPLACEMENT_KEY}test.txt"
|
85
85
|
name = "RENAMED"
|
86
86
|
expect(Vipergen::Generator).to receive(:rename_file_content)
|
87
87
|
Vipergen::Generator.rename_file(file, name)
|
88
88
|
end
|
89
89
|
|
90
90
|
after (:each) do
|
91
|
-
File.delete "#{Vipergen::Generator
|
91
|
+
File.delete "#{Vipergen::Generator::REPLACEMENT_KEY}test.txt" if File.exist? "#{Vipergen::Generator::REPLACEMENT_KEY}test.txt"
|
92
92
|
File.delete "RENAMEDtest.txt" if File.exist? "RENAMEDtest.txt"
|
93
93
|
end
|
94
94
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vipergen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pedro Piñera
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-10-
|
11
|
+
date: 2014-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -92,18 +92,29 @@ files:
|
|
92
92
|
- LICENSE
|
93
93
|
- README.md
|
94
94
|
- bin/vipergen
|
95
|
-
- lib/templates/default/objc/DataManager/
|
96
|
-
- lib/templates/default/objc/DataManager/
|
95
|
+
- lib/templates/default/objc/DataManager/API/VIPERAPIDataManager.h
|
96
|
+
- lib/templates/default/objc/DataManager/API/VIPERAPIDataManager.m
|
97
|
+
- lib/templates/default/objc/DataManager/Local/VIPERLocalDataManager.h
|
98
|
+
- lib/templates/default/objc/DataManager/Local/VIPERLocalDataManager.m
|
97
99
|
- lib/templates/default/objc/Interactor/VIPERInteractor.h
|
98
100
|
- lib/templates/default/objc/Interactor/VIPERInteractor.m
|
101
|
+
- lib/templates/default/objc/Interactor/VIPERItem.h
|
102
|
+
- lib/templates/default/objc/Interactor/VIPERItem.m
|
99
103
|
- lib/templates/default/objc/Presenter/VIPERPresenter.h
|
100
104
|
- lib/templates/default/objc/Presenter/VIPERPresenter.m
|
101
105
|
- lib/templates/default/objc/Protocols/VIPERProtocols.h
|
102
|
-
- lib/templates/default/objc/
|
103
|
-
- lib/templates/default/objc/
|
106
|
+
- lib/templates/default/objc/View/VIPERView.h
|
107
|
+
- lib/templates/default/objc/View/VIPERView.m
|
104
108
|
- lib/templates/default/objc/WireFrame/VIPERWireFrame.h
|
105
109
|
- lib/templates/default/objc/WireFrame/VIPERWireFrame.m
|
110
|
+
- lib/templates/default/swift/DataManager/API/VIPERAPIDataManager.swift
|
111
|
+
- lib/templates/default/swift/DataManager/Local/VIPERLocalDataManager.swift
|
112
|
+
- lib/templates/default/swift/Interactor/VIPERInteractor.swift
|
113
|
+
- lib/templates/default/swift/Interactor/VIPERItem.swift
|
114
|
+
- lib/templates/default/swift/Presenter/VIPERPresenter.swift
|
106
115
|
- lib/templates/default/swift/Protocols/VIPERProtocols.swift
|
116
|
+
- lib/templates/default/swift/View/VIPERView.swift
|
117
|
+
- lib/templates/default/swift/WireFrame/VIPERWireFrame.swift
|
107
118
|
- lib/templates/default/viperspec.yml
|
108
119
|
- lib/vipergen.rb
|
109
120
|
- lib/vipergen/dirutils.rb
|
@@ -1,15 +0,0 @@
|
|
1
|
-
//
|
2
|
-
// Created by Pedro Piñera Buendía on 2014.
|
3
|
-
// Copyright (c) 2014 Redbooth. All rights reserved.
|
4
|
-
//
|
5
|
-
|
6
|
-
#import <Foundation/Foundation.h>
|
7
|
-
#import "VIPERProtocols.h"
|
8
|
-
|
9
|
-
|
10
|
-
@interface VIPERDataManager : NSObject <VIPERDataManagerInputProtocol>
|
11
|
-
|
12
|
-
// Properties
|
13
|
-
@property (nonatomic, weak) id <VIPERDataManagerOutputProtocol> interactor;
|
14
|
-
|
15
|
-
@end
|