ccios 2.2.0 → 2.3.0
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/CHANGELOG.md +5 -0
- data/Gemfile.lock +1 -1
- data/README.md +3 -0
- data/ccios.gemspec +1 -1
- data/lib/ccios/config.rb +6 -3
- data/lib/ccios/pbxproj_parser.rb +11 -3
- data/lib/ccios/templates/interactor.mustache +1 -1
- data/lib/ccios/templates/interactor_assembly.mustache +1 -1
- data/lib/ccios/templates/interactor_implementation.mustache +6 -2
- data/lib/ccios/templates/repository.mustache +1 -1
- data/lib/ccios/templates/repository_assembly.mustache +3 -2
- data/lib/ccios/templates/repository_implementation.mustache +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29703bfd0d7ddbcbd3ab7a98bce4f6e8bd1826df86cc38085235b3396441a925
|
4
|
+
data.tar.gz: ccb448d02fab86e5e851f110f6692cbd2d267f430351ed1d8d2e92ed4d5e18f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd988ebb1bf5dc9811c4f6b04a828635850f3513a7095135575359313f5f374524d122cd9ca5056526b9efc4d91bc10123d2ce10904a543f68fd3ead28985518
|
7
|
+
data.tar.gz: 938c34078cd51d64ddbd3af8bd5ff3e68da3e34e1659c781e5f4a3f3e598f0787bc4ee1bbbd6132ce57e5c39fe45e5fb5a145569c97166464c1456a644d54181
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -135,6 +135,7 @@ But you could imagine more complex project structures with multiple xcodeproj:
|
|
135
135
|
```
|
136
136
|
app:
|
137
137
|
project: MyProject/MyProject.xcodeproj
|
138
|
+
target: MyProject # optional
|
138
139
|
presenter:
|
139
140
|
group: Classes/App
|
140
141
|
coordinator:
|
@@ -142,6 +143,7 @@ app:
|
|
142
143
|
|
143
144
|
core:
|
144
145
|
project: MyProjectCore/MyProjectCore.xcodeproj
|
146
|
+
target: MyProjectCore # optional
|
145
147
|
interactor:
|
146
148
|
group: MyProjectCore/Interactors
|
147
149
|
repository:
|
@@ -149,6 +151,7 @@ core:
|
|
149
151
|
|
150
152
|
data:
|
151
153
|
project: MyProjectData/MyProjectData.xcodeproj
|
154
|
+
target: MyProjectData # optional
|
152
155
|
repository:
|
153
156
|
group: MyProjectData/Sources/Repositories
|
154
157
|
|
data/ccios.gemspec
CHANGED
data/lib/ccios/config.rb
CHANGED
@@ -75,30 +75,33 @@ class Config
|
|
75
75
|
end
|
76
76
|
|
77
77
|
class AppConfig
|
78
|
-
attr_reader :project, :presenter, :coordinator
|
78
|
+
attr_reader :project, :target, :presenter, :coordinator
|
79
79
|
|
80
80
|
def initialize(hash)
|
81
81
|
@project = hash["project"]
|
82
|
+
@target = hash["target"]
|
82
83
|
@presenter = ObjectConfig.new hash["presenter"]
|
83
84
|
@coordinator = ObjectConfig.new hash["coordinator"]
|
84
85
|
end
|
85
86
|
end
|
86
87
|
|
87
88
|
class CoreConfig
|
88
|
-
attr_reader :project, :interactor, :repository
|
89
|
+
attr_reader :project, :target, :interactor, :repository
|
89
90
|
|
90
91
|
def initialize(hash)
|
91
92
|
@project = hash["project"]
|
93
|
+
@target = hash["target"]
|
92
94
|
@interactor = ObjectConfig.new hash["interactor"]
|
93
95
|
@repository = ObjectConfig.new hash["repository"]
|
94
96
|
end
|
95
97
|
end
|
96
98
|
|
97
99
|
class DataConfig
|
98
|
-
attr_reader :project, :repository
|
100
|
+
attr_reader :project, :target, :repository
|
99
101
|
|
100
102
|
def initialize(hash)
|
101
103
|
@project = hash["project"]
|
104
|
+
@target = hash["target"]
|
102
105
|
@repository = ObjectConfig.new hash["repository"]
|
103
106
|
end
|
104
107
|
end
|
data/lib/ccios/pbxproj_parser.rb
CHANGED
@@ -48,15 +48,15 @@ class PBXProjParser
|
|
48
48
|
end
|
49
49
|
|
50
50
|
def app_target
|
51
|
-
app_project.
|
51
|
+
target_for(app_project, @config.app.target)
|
52
52
|
end
|
53
53
|
|
54
54
|
def core_target
|
55
|
-
core_project.
|
55
|
+
target_for(core_project, @config.core.target)
|
56
56
|
end
|
57
57
|
|
58
58
|
def data_target
|
59
|
-
data_project.
|
59
|
+
target_for(data_project, @config.data.target)
|
60
60
|
end
|
61
61
|
|
62
62
|
def save
|
@@ -75,4 +75,12 @@ class PBXProjParser
|
|
75
75
|
end
|
76
76
|
@projects[module_project_path] ||= Xcodeproj::Project.open(resolved_module_project_path)
|
77
77
|
end
|
78
|
+
|
79
|
+
def target_for(project, target_name)
|
80
|
+
if target_name.blank?
|
81
|
+
project.targets.find { |t| t.product_type == "com.apple.product-type.application" }
|
82
|
+
else
|
83
|
+
project.targets.find { |t| t.name == target_name }
|
84
|
+
end
|
85
|
+
end
|
78
86
|
end
|
@@ -8,11 +8,15 @@
|
|
8
8
|
|
9
9
|
import Foundation
|
10
10
|
|
11
|
-
class {{name}}InteractorImplementation: {{name}}Interactor {
|
11
|
+
public class {{name}}InteractorImplementation: {{name}}Interactor {
|
12
|
+
|
13
|
+
public init() {
|
14
|
+
|
15
|
+
}
|
12
16
|
|
13
17
|
// MARK: - {{name}}Interactor
|
14
18
|
|
15
|
-
func execute() {
|
19
|
+
public func execute() {
|
16
20
|
|
17
21
|
}
|
18
22
|
}
|