cocoapods-privacy 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 160e1e50e0b10ceb9008703a37b624861e89e48aa7626ba69db17d5958f57d11
4
- data.tar.gz: 4d2f9bc6b15442f8759f22d3609716349281a2c33460bbfd55433d04362ae2a2
3
+ metadata.gz: 9b4a00e9abc854afbf658a6361ed8934fd35fa2c08acf7cc17e8a05ffa9f515d
4
+ data.tar.gz: 70c3102a4c9b371f4c1eb38317dcc4e1f568c19a95349b146902126029742a08
5
5
  SHA512:
6
- metadata.gz: 040723e52f2c23ee4fbfe2f33469194faf9d48c6d6af0cc8aa901966ad15e89830e97f9e227a05565c2e988776bef53ab3ae8d789aacc860bb2bed6a365c441a
7
- data.tar.gz: 3d239ca8ed9639bf88647ab5fb6802e55bfe011fa61417a26325806ca91b4f1dd5e9dc0ee4dffdd37f08c7803326f7401018d939067ed746a2745fb5c79686e4
6
+ metadata.gz: 0d8074f3e754caa905a5452b9e232599654e626f0a119ec1dedf7c5c960c85826ed084a6d52f1f5d32afa81024a68782e4391bda61ca9114857f563722d58d6c
7
+ data.tar.gz: 13248a72deadcf1117be0c135e1b2724a5106d99654f499081cbbfb53c50bf6c443bf9fe8e81d1ab0894a5e31168c98ea5a722c554ae9b41ad9d26c2ee54c3c5
@@ -1,3 +1,3 @@
1
1
  module CocoapodsPrivacy
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
@@ -103,18 +103,42 @@ class BBSpec
103
103
  if @privacy_sources
104
104
  privacy_resource_bundle = { "#{full_name}.privacy" => @privacy_file }
105
105
  if @has_resource_bundle
106
+ line_incomplete = nil
106
107
  @rows.each_with_index do |line, index|
107
- if !line || line.is_a?(BBSpec) || !line.key || line.key.empty?
108
+ if !line || line.is_a?(BBSpec)
108
109
  next
109
110
  end
110
111
 
111
- if !line.is_comment && line.key.include?(".resource_bundle")
112
- origin_resource_bundle = eval(line.value)
113
- merged_resource_bundle = origin_resource_bundle.merge(privacy_resource_bundle)
112
+ is_resource_bundle_line = line.key && line.key.include?(".resource_bundle")
113
+ if !line.is_comment && (is_resource_bundle_line || line_incomplete)
114
+ begin
115
+ if line_incomplete
116
+ code = "#{line_incomplete.value}#{line.content}"
117
+ else
118
+ code = "#{line.value}"
119
+ end
120
+
121
+ # 清除 content 和 value, 后面会把所有的resource_bundle 组装起来,多余的内容要清除,避免重复
122
+ line.content = ''
123
+ line.value = nil
124
+
125
+ RubyVM::InstructionSequence.compile(code)
126
+ origin_resource_bundle = eval(code)
127
+ rescue SyntaxError, StandardError => e
128
+ unless line_incomplete
129
+ line_incomplete = line
130
+ end
131
+ line_incomplete.value = code if line_incomplete #存储当前残缺的value,和后面完整的进行拼接
132
+ next
133
+ end
134
+
135
+ final_line = (line_incomplete ? line_incomplete : line)
114
136
 
137
+ merged_resource_bundle = origin_resource_bundle.merge(privacy_resource_bundle)
115
138
  @resource_bundle = merged_resource_bundle
116
- line.value = merged_resource_bundle
117
- line.content = "#{line.key}= #{line.value}"
139
+ final_line.value = merged_resource_bundle
140
+ final_line.content = "#{final_line.key}= #{final_line.value}"
141
+ break
118
142
  end
119
143
  end
120
144
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-privacy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - youhui