objcthin 0.3.0 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fa16ca065502f0339726d925f6c5869fb7ae380c
4
- data.tar.gz: 545f115b3d91274f34c937588617aae3bd2a50af
3
+ metadata.gz: 996f7f2d52dbfe1fad741cf70182a522841d73d6
4
+ data.tar.gz: 0bdc78796ee0ad5f1f16a2e5c8fcfb93a6e320d9
5
5
  SHA512:
6
- metadata.gz: a382092be8ec097f92502ff57a71211f736e71b2ac4d679f99034b2ab882ce549b55f1af7dcdbffdb890d4d31e7443f124a3023243157509a62ea4c0a065799b
7
- data.tar.gz: 51ffb2b02c51230870771c299c37cd286a2478923dad755dac2b68b48361f2f36618f9a63395c24a0543c8848533c223cd99ff18c7dc90d8909d8498c1ee2d06
6
+ metadata.gz: c499e476a260f2c45042f59d3b7d05b2998a807b1e6fcd1464e49c80e92c27937aa8e02bcd8d32923f03eb887614e6a827f82670af02d3975c651b0917f8bc6c
7
+ data.tar.gz: 9742d482764ff79121b71024b4607125210825617c9f14a87c40483a47392974c6ec4147200c3975124417fc0b46504c43d0811ac88be43c79bdd9296c41a838
data/.idea/workspace.xml CHANGED
@@ -2,6 +2,9 @@
2
2
  <project version="4">
3
3
  <component name="ChangeListManager">
4
4
  <list default="true" id="69d66805-a1ec-48e6-b641-a43f752f569e" name="Default" comment="">
5
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
6
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
7
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/objcthin.rb" afterPath="$PROJECT_DIR$/lib/objcthin.rb" />
5
8
  <change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/objcthin/version.rb" afterPath="$PROJECT_DIR$/lib/objcthin/version.rb" />
6
9
  </list>
7
10
  <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
@@ -13,22 +16,22 @@
13
16
  </component>
14
17
  <component name="FileEditorManager">
15
18
  <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
16
- <file leaf-file-name="Rakefile" pinned="false" current-in-tab="false">
17
- <entry file="file://$PROJECT_DIR$/Rakefile">
19
+ <file leaf-file-name="version.rb" pinned="false" current-in-tab="false">
20
+ <entry file="file://$PROJECT_DIR$/lib/objcthin/version.rb">
18
21
  <provider selected="true" editor-type-id="text-editor">
19
- <state relative-caret-position="300">
20
- <caret line="20" column="21" lean-forward="false" selection-start-line="20" selection-start-column="21" selection-end-line="20" selection-end-column="21" />
22
+ <state relative-caret-position="15">
23
+ <caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
21
24
  <folding />
22
25
  </state>
23
26
  </provider>
24
27
  </entry>
25
28
  </file>
26
- <file leaf-file-name="README.md" pinned="false" current-in-tab="false">
29
+ <file leaf-file-name="README.md" pinned="false" current-in-tab="true">
27
30
  <entry file="file://$PROJECT_DIR$/README.md">
28
31
  <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
29
32
  <state split_layout="SPLIT">
30
- <first_editor relative-caret-position="389">
31
- <caret line="33" column="63" lean-forward="false" selection-start-line="33" selection-start-column="63" selection-end-line="33" selection-end-column="63" />
33
+ <first_editor relative-caret-position="345">
34
+ <caret line="23" column="0" lean-forward="true" selection-start-line="23" selection-start-column="0" selection-end-line="23" selection-end-column="0" />
32
35
  <folding />
33
36
  </first_editor>
34
37
  <second_editor />
@@ -36,24 +39,12 @@
36
39
  </provider>
37
40
  </entry>
38
41
  </file>
39
- <file leaf-file-name="version.rb" pinned="false" current-in-tab="true">
40
- <entry file="file://$PROJECT_DIR$/lib/objcthin/version.rb">
41
- <provider selected="true" editor-type-id="text-editor">
42
- <state relative-caret-position="15">
43
- <caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
44
- <folding />
45
- </state>
46
- </provider>
47
- </entry>
48
- </file>
49
42
  <file leaf-file-name="objcthin.rb" pinned="false" current-in-tab="false">
50
43
  <entry file="file://$PROJECT_DIR$/lib/objcthin.rb">
51
44
  <provider selected="true" editor-type-id="text-editor">
52
- <state relative-caret-position="452">
53
- <caret line="281" column="0" lean-forward="true" selection-start-line="281" selection-start-column="0" selection-end-line="281" selection-end-column="0" />
54
- <folding>
55
- <element signature="e#1411#1780#0" expanded="false" />
56
- </folding>
45
+ <state relative-caret-position="344">
46
+ <caret line="272" column="31" lean-forward="false" selection-start-line="272" selection-start-column="31" selection-end-line="272" selection-end-column="31" />
47
+ <folding />
57
48
  </state>
58
49
  </provider>
59
50
  </entry>
@@ -64,6 +55,7 @@
64
55
  <findStrings>
65
56
  <find>objcthin</find>
66
57
  <find>prefex</find>
58
+ <find>find_unused_class</find>
67
59
  </findStrings>
68
60
  </component>
69
61
  <component name="Git.Settings">
@@ -75,9 +67,9 @@
75
67
  <option value="$PROJECT_DIR$/exe/objcthin" />
76
68
  <option value="$PROJECT_DIR$/objcthin.gemspec" />
77
69
  <option value="$PROJECT_DIR$/Rakefile" />
70
+ <option value="$PROJECT_DIR$/lib/objcthin/version.rb" />
78
71
  <option value="$PROJECT_DIR$/lib/objcthin.rb" />
79
72
  <option value="$PROJECT_DIR$/README.md" />
80
- <option value="$PROJECT_DIR$/lib/objcthin/version.rb" />
81
73
  </list>
82
74
  </option>
83
75
  </component>
@@ -90,7 +82,7 @@
90
82
  <component name="ProjectFrameBounds">
91
83
  <option name="y" value="23" />
92
84
  <option name="width" value="1280" />
93
- <option name="height" value="745" />
85
+ <option name="height" value="741" />
94
86
  </component>
95
87
  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
96
88
  <component name="ProjectView">
@@ -357,14 +349,16 @@
357
349
  <workItem from="1508233450613" duration="12864000" />
358
350
  <workItem from="1508466982795" duration="1227000" />
359
351
  <workItem from="1508565800048" duration="7433000" />
352
+ <workItem from="1508751752004" duration="39000" />
353
+ <workItem from="1508912491688" duration="874000" />
360
354
  </task>
361
355
  <servers />
362
356
  </component>
363
357
  <component name="TimeTrackingManager">
364
- <option name="totallyTimeSpent" value="22122000" />
358
+ <option name="totallyTimeSpent" value="23035000" />
365
359
  </component>
366
360
  <component name="ToolWindowManager">
367
- <frame x="0" y="23" width="1280" height="745" extended-state="6" />
361
+ <frame x="0" y="23" width="1280" height="741" extended-state="6" />
368
362
  <editor active="true" />
369
363
  <layout>
370
364
  <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
@@ -397,11 +391,80 @@
397
391
  <watches-manager />
398
392
  </component>
399
393
  <component name="editorHistoryManager">
394
+ <entry file="file://$PROJECT_DIR$/Rakefile">
395
+ <provider selected="true" editor-type-id="text-editor">
396
+ <state relative-caret-position="300">
397
+ <caret line="20" column="21" lean-forward="false" selection-start-line="20" selection-start-column="21" selection-end-line="20" selection-end-column="21" />
398
+ <folding />
399
+ </state>
400
+ </provider>
401
+ </entry>
402
+ <entry file="file://$PROJECT_DIR$/README.md">
403
+ <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
404
+ <state split_layout="SPLIT">
405
+ <first_editor relative-caret-position="495">
406
+ <caret line="33" column="63" lean-forward="false" selection-start-line="33" selection-start-column="63" selection-end-line="33" selection-end-column="63" />
407
+ <folding />
408
+ </first_editor>
409
+ <second_editor />
410
+ </state>
411
+ </provider>
412
+ </entry>
413
+ <entry file="file://$PROJECT_DIR$/lib/objcthin/version.rb">
414
+ <provider selected="true" editor-type-id="text-editor">
415
+ <state relative-caret-position="15">
416
+ <caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
417
+ <folding />
418
+ </state>
419
+ </provider>
420
+ </entry>
421
+ <entry file="file://$PROJECT_DIR$/lib/objcthin.rb">
422
+ <provider selected="true" editor-type-id="text-editor">
423
+ <state relative-caret-position="4200">
424
+ <caret line="280" column="7" lean-forward="true" selection-start-line="280" selection-start-column="7" selection-end-line="280" selection-end-column="7" />
425
+ <folding />
426
+ </state>
427
+ </provider>
428
+ </entry>
429
+ <entry file="file://$PROJECT_DIR$/Rakefile">
430
+ <provider selected="true" editor-type-id="text-editor">
431
+ <state relative-caret-position="300">
432
+ <caret line="20" column="21" lean-forward="false" selection-start-line="20" selection-start-column="21" selection-end-line="20" selection-end-column="21" />
433
+ <folding />
434
+ </state>
435
+ </provider>
436
+ </entry>
437
+ <entry file="file://$PROJECT_DIR$/README.md">
438
+ <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
439
+ <state split_layout="SPLIT">
440
+ <first_editor relative-caret-position="495">
441
+ <caret line="33" column="63" lean-forward="false" selection-start-line="33" selection-start-column="63" selection-end-line="33" selection-end-column="63" />
442
+ <folding />
443
+ </first_editor>
444
+ <second_editor />
445
+ </state>
446
+ </provider>
447
+ </entry>
448
+ <entry file="file://$PROJECT_DIR$/lib/objcthin.rb">
449
+ <provider selected="true" editor-type-id="text-editor">
450
+ <state relative-caret-position="4005">
451
+ <caret line="281" column="0" lean-forward="true" selection-start-line="281" selection-start-column="0" selection-end-line="281" selection-end-column="0" />
452
+ <folding />
453
+ </state>
454
+ </provider>
455
+ </entry>
456
+ <entry file="file://$PROJECT_DIR$/lib/objcthin/version.rb">
457
+ <provider selected="true" editor-type-id="text-editor">
458
+ <state relative-caret-position="15">
459
+ <caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
460
+ <folding />
461
+ </state>
462
+ </provider>
463
+ </entry>
400
464
  <entry file="file://$PROJECT_DIR$/objcthin.gemspec">
401
465
  <provider selected="true" editor-type-id="text-editor">
402
466
  <state relative-caret-position="345">
403
467
  <caret line="23" column="5" lean-forward="false" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
404
- <folding />
405
468
  </state>
406
469
  </provider>
407
470
  </entry>
@@ -428,9 +491,7 @@
428
491
  <provider selected="true" editor-type-id="text-editor">
429
492
  <state relative-caret-position="3630">
430
493
  <caret line="242" column="28" lean-forward="true" selection-start-line="242" selection-start-column="28" selection-end-line="242" selection-end-column="28" />
431
- <folding>
432
- <element signature="e#1411#1780#0" expanded="false" />
433
- </folding>
494
+ <folding />
434
495
  </state>
435
496
  </provider>
436
497
  </entry>
@@ -446,7 +507,6 @@
446
507
  <provider selected="true" editor-type-id="text-editor">
447
508
  <state relative-caret-position="345">
448
509
  <caret line="23" column="5" lean-forward="false" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
449
- <folding />
450
510
  </state>
451
511
  </provider>
452
512
  </entry>
@@ -465,9 +525,7 @@
465
525
  <provider selected="true" editor-type-id="text-editor">
466
526
  <state relative-caret-position="1485">
467
527
  <caret line="99" column="45" lean-forward="false" selection-start-line="99" selection-start-column="45" selection-end-line="99" selection-end-column="45" />
468
- <folding>
469
- <element signature="e#1411#1780#0" expanded="false" />
470
- </folding>
528
+ <folding />
471
529
  </state>
472
530
  </provider>
473
531
  </entry>
@@ -512,7 +570,6 @@
512
570
  <provider selected="true" editor-type-id="text-editor">
513
571
  <state relative-caret-position="372">
514
572
  <caret line="595" column="17" lean-forward="true" selection-start-line="595" selection-start-column="17" selection-end-line="595" selection-end-column="17" />
515
- <folding />
516
573
  </state>
517
574
  </provider>
518
575
  </entry>
@@ -527,7 +584,6 @@
527
584
  <provider selected="true" editor-type-id="text-editor">
528
585
  <state relative-caret-position="148">
529
586
  <caret line="839" column="8" lean-forward="false" selection-start-line="839" selection-start-column="8" selection-end-line="839" selection-end-column="8" />
530
- <folding />
531
587
  </state>
532
588
  </provider>
533
589
  </entry>
@@ -550,9 +606,7 @@
550
606
  <provider selected="true" editor-type-id="text-editor">
551
607
  <state relative-caret-position="197">
552
608
  <caret line="99" column="45" lean-forward="false" selection-start-line="99" selection-start-column="45" selection-end-line="99" selection-end-column="45" />
553
- <folding>
554
- <element signature="e#1411#1780#0" expanded="false" />
555
- </folding>
609
+ <folding />
556
610
  </state>
557
611
  </provider>
558
612
  </entry>
@@ -560,7 +614,6 @@
560
614
  <provider selected="true" editor-type-id="text-editor">
561
615
  <state relative-caret-position="-55">
562
616
  <caret line="13" column="60" lean-forward="false" selection-start-line="13" selection-start-column="52" selection-end-line="13" selection-end-column="60" />
563
- <folding />
564
617
  </state>
565
618
  </provider>
566
619
  </entry>
@@ -625,46 +678,43 @@
625
678
  <provider selected="true" editor-type-id="text-editor">
626
679
  <state relative-caret-position="345">
627
680
  <caret line="23" column="5" lean-forward="false" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
628
- <folding />
629
681
  </state>
630
682
  </provider>
631
683
  </entry>
632
684
  <entry file="file://$PROJECT_DIR$/Rakefile">
633
685
  <provider selected="true" editor-type-id="text-editor">
634
- <state relative-caret-position="300">
635
- <caret line="20" column="21" lean-forward="false" selection-start-line="20" selection-start-column="21" selection-end-line="20" selection-end-column="21" />
686
+ <state relative-caret-position="240">
687
+ <caret line="16" column="0" lean-forward="true" selection-start-line="16" selection-start-column="0" selection-end-line="16" selection-end-column="0" />
688
+ <folding />
689
+ </state>
690
+ </provider>
691
+ </entry>
692
+ <entry file="file://$PROJECT_DIR$/lib/objcthin/version.rb">
693
+ <provider selected="true" editor-type-id="text-editor">
694
+ <state relative-caret-position="15">
695
+ <caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
636
696
  <folding />
637
697
  </state>
638
698
  </provider>
639
699
  </entry>
640
700
  <entry file="file://$PROJECT_DIR$/lib/objcthin.rb">
641
701
  <provider selected="true" editor-type-id="text-editor">
642
- <state relative-caret-position="452">
643
- <caret line="281" column="0" lean-forward="true" selection-start-line="281" selection-start-column="0" selection-end-line="281" selection-end-column="0" />
644
- <folding>
645
- <element signature="e#1411#1780#0" expanded="false" />
646
- </folding>
702
+ <state relative-caret-position="344">
703
+ <caret line="272" column="31" lean-forward="false" selection-start-line="272" selection-start-column="31" selection-end-line="272" selection-end-column="31" />
704
+ <folding />
647
705
  </state>
648
706
  </provider>
649
707
  </entry>
650
708
  <entry file="file://$PROJECT_DIR$/README.md">
651
709
  <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
652
710
  <state split_layout="SPLIT">
653
- <first_editor relative-caret-position="389">
654
- <caret line="33" column="63" lean-forward="false" selection-start-line="33" selection-start-column="63" selection-end-line="33" selection-end-column="63" />
711
+ <first_editor relative-caret-position="345">
712
+ <caret line="23" column="0" lean-forward="true" selection-start-line="23" selection-start-column="0" selection-end-line="23" selection-end-column="0" />
655
713
  <folding />
656
714
  </first_editor>
657
715
  <second_editor />
658
716
  </state>
659
717
  </provider>
660
718
  </entry>
661
- <entry file="file://$PROJECT_DIR$/lib/objcthin/version.rb">
662
- <provider selected="true" editor-type-id="text-editor">
663
- <state relative-caret-position="15">
664
- <caret line="1" column="16" lean-forward="false" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
665
- <folding />
666
- </state>
667
- </provider>
668
- </entry>
669
719
  </component>
670
720
  </project>
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  this script can find unused selector and class for you project.app or LinkMap file.
4
4
 
5
- 这个脚本可以自动的帮你找出当前项目中不在使用的selector和class,支持debug版本的APP包和LinkMap文件。
5
+ 这个脚本可以自动的帮你找出当前项目中不在使用的selector和class,支持debug版本的APP包。
6
6
 
7
7
  ## Installation
8
8
 
data/lib/objcthin.rb CHANGED
@@ -9,11 +9,11 @@ module Objcthin
9
9
  desc 'findsel','find unused method sel'
10
10
  method_option :prefix, :default => '', :type => :string, :desc => 'the class prefix you want find'
11
11
  def findsel(path)
12
- Imp::UnusedClass.instance.find_unused_sel(path, options[:prefix])
12
+ Imp::UnusedSel.instance.find_unused_sel(path, options[:prefix])
13
13
  end
14
14
 
15
15
  desc 'findclass', 'find unused class list'
16
- method_option :prefix => :string, :default => '', :desc => 'the class prefix you want find'
16
+ method_option :prefix, :default => '', :type => :string, :desc => 'the class prefix you want find'
17
17
  def findclass(path)
18
18
  Imp::UnusedClass.instance.find_unused_class(path, options[:prefix])
19
19
  end
@@ -26,7 +26,7 @@ module Objcthin
26
26
  end
27
27
 
28
28
  module Imp
29
- class UnusedClass
29
+ class UnusedSel
30
30
 
31
31
  include Singleton
32
32
 
@@ -178,6 +178,12 @@ module Imp
178
178
 
179
179
  include Singleton
180
180
 
181
+ def find_unused_class(path, prefix)
182
+ check_file_type(path)
183
+ result = split_segment_and_find(path, prefix)
184
+ puts result.values
185
+ end
186
+
181
187
  def check_file_type(path)
182
188
  pathname = Pathname.new(path)
183
189
  unless pathname.exist?
@@ -221,9 +227,10 @@ module Imp
221
227
  patten = /Contents of \(.*\) section/
222
228
 
223
229
  name_patten_string = '.*'
224
- if prefix.length > 0
230
+ unless prefix.empty?
225
231
  name_patten_string = "#{prefix}.*"
226
232
  end
233
+
227
234
  vmaddress_to_class_name_patten = /^(\d*\w*)\s(0x\d*\w*)\s_OBJC_CLASS_\$_(#{name_patten_string})/
228
235
 
229
236
  class_list = []
@@ -279,13 +286,5 @@ module Imp
279
286
 
280
287
  result
281
288
  end
282
-
283
- def find_unused_class(path, prefix)
284
- check_file_type(path)
285
- result = split_segment_and_find(path, prefix)
286
- puts result.values
287
- end
288
-
289
289
  end
290
-
291
- end
290
+ end
@@ -1,3 +1,3 @@
1
1
  module Objcthin
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: objcthin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jamy_gu
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-21 00:00:00.000000000 Z
11
+ date: 2017-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor