lhj-tools 0.2.57 → 0.2.58

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
  SHA256:
3
- metadata.gz: 1522e2e897fadad490a8c1b9baaff75d7472a3d7deeadf7bdb790ff310bcd56d
4
- data.tar.gz: fa96344cdf3abd706ac13f0b349a3c9b0eb3e745d4da0befb1dc0ef4fcc0d57f
3
+ metadata.gz: 875d220405250a700a625e00c01066f23218ca09177b843b155165bc4dba3842
4
+ data.tar.gz: 5a4b9e1f653d31a54d6f4cd5a8a40c06d7002f2371d74caa562f5a34a7e2f871
5
5
  SHA512:
6
- metadata.gz: f8c8b06eb183abc0969c0ec0d09fccff56c2977ccc3f55923e49180759ac36dbce014f1a98297afd84e93f5befc8eda5f219c09e9792d65780b8af8949d25134
7
- data.tar.gz: 9d7caf469da443e5be5b0aa963848cc0ce9f5eac7ae60542d67bdafee2841a7aa3bc8bfa0aca0f4f6422417e3144d300f5341ac38f39aaaf6052d4a8e0ff8eec
6
+ metadata.gz: 5380890249c39f87d479383c60da890213ce34d15005f4120ebbb7f33d1819556ff7e071f3e47a53ff14ac504469422fe73afba0fad025a4b06a14859c34d7e5
7
+ data.tar.gz: c64c70794e07142dab6a268922b1508f56699b881fa4baff65ca18d30737bb20417dde791d9c6fb2f04f7760207899734c878ed5ad54c6316dd5a12e7de1833a
@@ -0,0 +1,73 @@
1
+ module Lhj
2
+ class ImageOssCheckHelper
3
+
4
+ OSS_PATH_REGEX = /(?<var>[a-zA-Z0-9_]+)\W*=.*ml_addOssPathIgnoreGif:.*/.freeze
5
+
6
+ SD_IMAGE_OSS_REGEX = /sd_setImageWithURL:\s*\[NSURL\s*URLWithString:(?<url>[^\]]+)\]/.freeze
7
+
8
+ def self.check(path, type = 'm')
9
+ all_files = Dir.glob("#{path}/**/*.{#{type}}").reject do |p|
10
+ p =~ /Pods/
11
+ end
12
+ result = {}
13
+ all_files.each do |f|
14
+ infos = handle_file(f)
15
+ result[File.basename(f)] = infos if infos.length.positive?
16
+ end
17
+ show_result(result)
18
+ end
19
+
20
+ def self.show_result(result)
21
+ result.each do |k, v|
22
+ puts k
23
+ v.each do |o|
24
+ puts "第#{o[:idx]}行:"
25
+ puts o[:line]
26
+ end
27
+ end
28
+ end
29
+
30
+ def self.handle_file(file)
31
+ result = []
32
+ File.open(file, 'r') do |f|
33
+ oss_var = nil
34
+ multi_comment = false
35
+ f.readlines.each_with_index do |line, idx|
36
+ multi_comment = true if line =~ %r{/\*} && line !~ %r{\*/} && !multi_comment
37
+ if line !~ %r{/\*} && line =~ %r{\*/} && multi_comment
38
+ multi_comment = false
39
+ next
40
+ end
41
+
42
+ next if multi_comment
43
+ next if line =~ %r{\s*//}
44
+
45
+ oss_var = fetch_oss_path(line) if line =~ OSS_PATH_REGEX
46
+ next unless line =~ SD_IMAGE_OSS_REGEX
47
+
48
+ oss_info = fetch_sd_image_url(file, line, idx, oss_var)
49
+ result << oss_info if oss_info
50
+ oss_var = nil if oss_info
51
+ end
52
+ end
53
+ result
54
+ end
55
+
56
+ def self.fetch_oss_path(line)
57
+ oss_match = OSS_PATH_REGEX.match(line)
58
+ oss_match[:var]
59
+ end
60
+
61
+ def self.fetch_sd_image_url(file, line, idx, oss_var)
62
+ url_match = SD_IMAGE_OSS_REGEX.match(line)
63
+ oss_url = url_match[:url]
64
+
65
+ return nil if oss_var && oss_var == oss_url
66
+ return nil if oss_url =~ /ml_addOssPathIgnoreGif/
67
+ return nil if oss_url =~ /x-oss-process=style/
68
+
69
+ { idx: idx + 1, line: line.strip }
70
+ end
71
+
72
+ end
73
+ end
data/lib/lhj/lhj.rb CHANGED
@@ -31,6 +31,7 @@ module Lhj
31
31
  require 'lhj/helper/bugly_helper'
32
32
  require 'lhj/helper/traditional_check_helper'
33
33
  require 'lhj/helper/todo_check_helper'
34
+ require 'lhj/helper/image_oss_check_helper'
34
35
 
35
36
  class Error < StandardError; end
36
37
 
data/lib/lhj/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lhj
4
- VERSION = '0.2.57'
4
+ VERSION = '0.2.58'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhj-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.57
4
+ version: 0.2.58
5
5
  platform: ruby
6
6
  authors:
7
7
  - lihaijian
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-14 00:00:00.000000000 Z
11
+ date: 2023-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj
@@ -392,6 +392,7 @@ files:
392
392
  - lib/lhj/helper/erb_template_helper.rb
393
393
  - lib/lhj/helper/git_branch_feature_config.rb
394
394
  - lib/lhj/helper/git_helper.rb
395
+ - lib/lhj/helper/image_oss_check_helper.rb
395
396
  - lib/lhj/helper/ios_robot_config.rb
396
397
  - lib/lhj/helper/jenkins_config.rb
397
398
  - lib/lhj/helper/local_config.rb