mt_tool 0.1.3 → 0.1.5
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/.idea/mt_tool.iml +77 -27
- data/.idea/sonarlint/issuestore/4/7/4745e92ab1b53af3e65026337909045741e13bea +0 -0
- data/.idea/sonarlint/issuestore/5/2/5283f86f6adbda087dceb47c69b64e141dfb1e93 +0 -0
- data/.idea/sonarlint/issuestore/7/0/70213f721c971c9a12d0f46060f7ee2a087b4a96 +0 -0
- data/.idea/sonarlint/issuestore/b/5/b53eec12e0ab8df9876dbc7fe65915bb985c4f72 +0 -0
- data/.idea/sonarlint/issuestore/e/8/e84cc700d4480c1d3ca7dcc158063e40a25cee12 +0 -0
- data/.idea/sonarlint/issuestore/f/8/f80e2edcdaf9ddf9362d26f7fa5d19df422f29c7 +0 -0
- data/.idea/sonarlint/issuestore/index.pb +13 -0
- data/Gemfile.lock +7 -3
- data/README.md +18 -7
- data/img/69786f8e2a527b8c26f2c1311e230e5f.webp.png +0 -0
- data/img/SCR-20240619-msnz.png +0 -0
- data/lib/mt_tool/commands.rb +23 -216
- data/lib/mt_tool/module/module.rb +275 -0
- data/lib/mt_tool/module/template/swift/Entity.swift +15 -0
- data/lib/mt_tool/module/template/swift/Interactor.swift +16 -0
- data/lib/mt_tool/module/template/swift/Presenter.swift +28 -0
- data/lib/mt_tool/module/template/swift/Router.swift +50 -0
- data/lib/mt_tool/module/template/swift/ViewController.swift +97 -0
- data/lib/mt_tool/oc_model/main.rb +112 -0
- data/lib/mt_tool/oc_model/oc_model.rb +235 -0
- data/lib/mt_tool/oc_model/sample.json +11 -0
- data/lib/mt_tool/short_hand/objc_generate_from_shorthand.rb +182 -0
- data/lib/mt_tool/short_hand/objc_header.mustache +41 -0
- data/lib/mt_tool/short_hand/objc_implementation.mustache +99 -0
- data/lib/mt_tool/short_hand/objc_shorthand.rb +64 -0
- data/lib/mt_tool/version.rb +1 -1
- data/mt_tool.gemspec +3 -1
- metadata +84 -21
- data/lib/mt_tool/analyze.rb +0 -126
- /data/lib/mt_tool/{template → module/template}/objc/Bundle.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/Bundle.m +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/CategoryHeader.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/PrefixHeader.pch +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/RouterDefine.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/RouterRegister.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/RouterRegister.m +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/ServiceProtocol.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/ServiceRegister.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/ServiceRegister.m +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/ToolsHeader.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/VendorHeader.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/demo/DemoViewController.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/demo/DemoViewController.m +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/demo/DemoViewModel.h +0 -0
- /data/lib/mt_tool/{template → module/template}/objc/demo/DemoViewModel.m +0 -0
- /data/lib/mt_tool/{template → module/template}/swift/RouterDefine.swift +0 -0
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mt_tool
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LyleLH
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -178,6 +178,20 @@ dependencies:
|
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: colored2
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
196
|
name: pathname
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -192,6 +206,34 @@ dependencies:
|
|
192
206
|
- - ">="
|
193
207
|
- !ruby/object:Gem::Version
|
194
208
|
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: mustache
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: activesupport
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
195
237
|
description: 常用工具 -- 快速创建模版代码.
|
196
238
|
email:
|
197
239
|
- v2top1lyle@gmail.com
|
@@ -205,32 +247,53 @@ files:
|
|
205
247
|
- ".idea/misc.xml"
|
206
248
|
- ".idea/modules.xml"
|
207
249
|
- ".idea/mt_tool.iml"
|
250
|
+
- ".idea/sonarlint/issuestore/4/7/4745e92ab1b53af3e65026337909045741e13bea"
|
251
|
+
- ".idea/sonarlint/issuestore/5/2/5283f86f6adbda087dceb47c69b64e141dfb1e93"
|
252
|
+
- ".idea/sonarlint/issuestore/7/0/70213f721c971c9a12d0f46060f7ee2a087b4a96"
|
253
|
+
- ".idea/sonarlint/issuestore/b/5/b53eec12e0ab8df9876dbc7fe65915bb985c4f72"
|
254
|
+
- ".idea/sonarlint/issuestore/e/8/e84cc700d4480c1d3ca7dcc158063e40a25cee12"
|
255
|
+
- ".idea/sonarlint/issuestore/f/8/f80e2edcdaf9ddf9362d26f7fa5d19df422f29c7"
|
256
|
+
- ".idea/sonarlint/issuestore/index.pb"
|
208
257
|
- ".idea/vcs.xml"
|
209
258
|
- Gemfile
|
210
259
|
- Gemfile.lock
|
211
260
|
- README.md
|
212
261
|
- Rakefile
|
213
262
|
- bin/mt_tool
|
263
|
+
- img/69786f8e2a527b8c26f2c1311e230e5f.webp.png
|
264
|
+
- img/SCR-20240619-msnz.png
|
214
265
|
- lib/mt_tool.rb
|
215
|
-
- lib/mt_tool/analyze.rb
|
216
266
|
- lib/mt_tool/commands.rb
|
217
|
-
- lib/mt_tool/
|
218
|
-
- lib/mt_tool/template/objc/Bundle.
|
219
|
-
- lib/mt_tool/template/objc/
|
220
|
-
- lib/mt_tool/template/objc/
|
221
|
-
- lib/mt_tool/template/objc/
|
222
|
-
- lib/mt_tool/template/objc/
|
223
|
-
- lib/mt_tool/template/objc/RouterRegister.
|
224
|
-
- lib/mt_tool/template/objc/
|
225
|
-
- lib/mt_tool/template/objc/
|
226
|
-
- lib/mt_tool/template/objc/ServiceRegister.
|
227
|
-
- lib/mt_tool/template/objc/
|
228
|
-
- lib/mt_tool/template/objc/
|
229
|
-
- lib/mt_tool/template/objc/
|
230
|
-
- lib/mt_tool/template/objc/demo/DemoViewController.
|
231
|
-
- lib/mt_tool/template/objc/demo/
|
232
|
-
- lib/mt_tool/template/objc/demo/DemoViewModel.
|
233
|
-
- lib/mt_tool/template/
|
267
|
+
- lib/mt_tool/module/module.rb
|
268
|
+
- lib/mt_tool/module/template/objc/Bundle.h
|
269
|
+
- lib/mt_tool/module/template/objc/Bundle.m
|
270
|
+
- lib/mt_tool/module/template/objc/CategoryHeader.h
|
271
|
+
- lib/mt_tool/module/template/objc/PrefixHeader.pch
|
272
|
+
- lib/mt_tool/module/template/objc/RouterDefine.h
|
273
|
+
- lib/mt_tool/module/template/objc/RouterRegister.h
|
274
|
+
- lib/mt_tool/module/template/objc/RouterRegister.m
|
275
|
+
- lib/mt_tool/module/template/objc/ServiceProtocol.h
|
276
|
+
- lib/mt_tool/module/template/objc/ServiceRegister.h
|
277
|
+
- lib/mt_tool/module/template/objc/ServiceRegister.m
|
278
|
+
- lib/mt_tool/module/template/objc/ToolsHeader.h
|
279
|
+
- lib/mt_tool/module/template/objc/VendorHeader.h
|
280
|
+
- lib/mt_tool/module/template/objc/demo/DemoViewController.h
|
281
|
+
- lib/mt_tool/module/template/objc/demo/DemoViewController.m
|
282
|
+
- lib/mt_tool/module/template/objc/demo/DemoViewModel.h
|
283
|
+
- lib/mt_tool/module/template/objc/demo/DemoViewModel.m
|
284
|
+
- lib/mt_tool/module/template/swift/Entity.swift
|
285
|
+
- lib/mt_tool/module/template/swift/Interactor.swift
|
286
|
+
- lib/mt_tool/module/template/swift/Presenter.swift
|
287
|
+
- lib/mt_tool/module/template/swift/Router.swift
|
288
|
+
- lib/mt_tool/module/template/swift/RouterDefine.swift
|
289
|
+
- lib/mt_tool/module/template/swift/ViewController.swift
|
290
|
+
- lib/mt_tool/oc_model/main.rb
|
291
|
+
- lib/mt_tool/oc_model/oc_model.rb
|
292
|
+
- lib/mt_tool/oc_model/sample.json
|
293
|
+
- lib/mt_tool/short_hand/objc_generate_from_shorthand.rb
|
294
|
+
- lib/mt_tool/short_hand/objc_header.mustache
|
295
|
+
- lib/mt_tool/short_hand/objc_implementation.mustache
|
296
|
+
- lib/mt_tool/short_hand/objc_shorthand.rb
|
234
297
|
- lib/mt_tool/version.rb
|
235
298
|
- mt_tool.gemspec
|
236
299
|
- sig/mt_tool.rbs
|
@@ -254,7 +317,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
254
317
|
- !ruby/object:Gem::Version
|
255
318
|
version: '0'
|
256
319
|
requirements: []
|
257
|
-
rubygems_version: 3.
|
320
|
+
rubygems_version: 3.3.3
|
258
321
|
signing_key:
|
259
322
|
specification_version: 4
|
260
323
|
summary: 常用工具.
|
data/lib/mt_tool/analyze.rb
DELETED
@@ -1,126 +0,0 @@
|
|
1
|
-
require 'cocoapods'
|
2
|
-
require 'pathname'
|
3
|
-
|
4
|
-
require 'pp'
|
5
|
-
|
6
|
-
require 'tmpdir'
|
7
|
-
|
8
|
-
module MtTool
|
9
|
-
#
|
10
|
-
# Analyze the project using cocoapods
|
11
|
-
#
|
12
|
-
class Analyzer
|
13
|
-
def analyze(podfile_dir_path)
|
14
|
-
|
15
|
-
@path = Pathname.new(podfile_dir_path)
|
16
|
-
@podFile = Pod::Podfile.from_file(@path + 'Podfile')
|
17
|
-
@podLock = Pod::Lockfile.from_file(@path + 'Podfile.lock')
|
18
|
-
|
19
|
-
|
20
|
-
raise 'absolute path is needed' unless @path.absolute?
|
21
|
-
|
22
|
-
Dir.chdir(podfile_dir_path) do
|
23
|
-
analyze_with_podfile
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
def analyze_with_podfile
|
30
|
-
# if @path
|
31
|
-
# sandbox = Dir.mktmpdir
|
32
|
-
# else
|
33
|
-
# sandbox = Dir.pwd + '/Pods'
|
34
|
-
# end
|
35
|
-
#
|
36
|
-
|
37
|
-
sandbox = Dir.pwd + '/Pods'
|
38
|
-
|
39
|
-
analyzer = Pod::Installer::Analyzer.new(
|
40
|
-
Pod::Sandbox.new(sandbox),
|
41
|
-
@podFile,
|
42
|
-
# @podLock
|
43
|
-
)
|
44
|
-
|
45
|
-
specifications = analyzer.analyze.specifications.map(&:root).uniq
|
46
|
-
|
47
|
-
podfile_dependency = podfile_dependencies(@podFile)
|
48
|
-
|
49
|
-
map = {}
|
50
|
-
specifications.each do |s|
|
51
|
-
map[s.name] = if s.default_subspecs.count > 0
|
52
|
-
subspecs_with_name(s, s.default_subspecs) + s.dependencies
|
53
|
-
else
|
54
|
-
s.subspecs + s.dependencies
|
55
|
-
end
|
56
|
-
|
57
|
-
subspecs_in_podfile = podfile_dependency.select { |pd|
|
58
|
-
pd.split('/')[0] == s.name
|
59
|
-
}
|
60
|
-
sp = subspecs_in_podfile.map { |sip|
|
61
|
-
s.subspecs.find { |ss|
|
62
|
-
ss.name == sip
|
63
|
-
}
|
64
|
-
}.compact
|
65
|
-
|
66
|
-
map[s.name] = sp if sp.count != 0
|
67
|
-
s.subspecs.each do |ss|
|
68
|
-
map[ss.name] = ss.dependencies
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
72
|
-
|
73
|
-
# for performance
|
74
|
-
dependencies_map = {}
|
75
|
-
specifications.each do |s|
|
76
|
-
dependencies_map[s.name] = s
|
77
|
-
end
|
78
|
-
|
79
|
-
new_map = {}
|
80
|
-
specifications.each do |s|
|
81
|
-
new_map[s.name] = find_dependencies(s.name, map, [], dependencies_map, s.name).uniq.sort
|
82
|
-
end
|
83
|
-
|
84
|
-
new_map
|
85
|
-
end
|
86
|
-
|
87
|
-
def podfile_dependencies(podfile)
|
88
|
-
res = []
|
89
|
-
podfile.root_target_definitions.each do |td|
|
90
|
-
children_definitions = td.recursive_children
|
91
|
-
children_definitions.each do |cd|
|
92
|
-
dependencies_hash_array = cd.send(:get_hash_value, 'dependencies')
|
93
|
-
next if dependencies_hash_array.nil? || dependencies_hash_array.count.zero?
|
94
|
-
|
95
|
-
dependencies_hash_array.each do |item|
|
96
|
-
next if item.class.name != 'Hash'
|
97
|
-
|
98
|
-
item.each do |name, _|
|
99
|
-
res.push name
|
100
|
-
end
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
res
|
105
|
-
end
|
106
|
-
|
107
|
-
def find_dependencies(name, map, res, dependencies_map, root_name)
|
108
|
-
return unless map[name]
|
109
|
-
|
110
|
-
map[name].each do |k|
|
111
|
-
find_dependencies(k.name, map, res, dependencies_map, root_name)
|
112
|
-
dependency = dependencies_map[k.name.split('/')[0]]
|
113
|
-
res.push dependency.name if dependency && dependency.name != root_name
|
114
|
-
end
|
115
|
-
res
|
116
|
-
end
|
117
|
-
|
118
|
-
def subspecs_with_name(spec, subspecs_short_names)
|
119
|
-
subspecs_short_names.map do |name|
|
120
|
-
spec.subspecs.find { |ss| ss.name.include? name }
|
121
|
-
end
|
122
|
-
end
|
123
|
-
|
124
|
-
|
125
|
-
end
|
126
|
-
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|