filex 0.1.5 → 0.1.6
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/.gitignore +0 -0
- data/.rspec +0 -0
- data/.rubocop.yml +0 -0
- data/.travis.yml +0 -0
- data/Gemfile +0 -0
- data/LICENSE +0 -0
- data/LICENSE.txt +0 -0
- data/README.md +0 -0
- data/Rakefile +0 -0
- data/filex.gemspec +0 -0
- data/lib/filex.rb +34 -16
- data/lib/filex/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c06f30e685dd60d4ac9dcdaec214e7a3577504adf9e3a01b49bd5441f3a09b1
|
4
|
+
data.tar.gz: 26ae4e902da3aca7127482db62cb0292f73c4fac41aadebda6f40fc1f2cfbd61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1260552fecb2730fbf4de170a295b1d9c018d107e7cd01f001bd6a48f8ed2fe1e130ab4d07f9601e103223ac0b1c188c3dc110c425f69f91cdafbaf65b31bc8a
|
7
|
+
data.tar.gz: 175eeaac4a0b02b57115f4621ee13f12b5af6a2fd79acefdef5f77b439ea013053d99ee13d6c2f1a6cb18594c7525b431dedca7f9a57e571829fb1543a9f6b47
|
data/.gitignore
CHANGED
File without changes
|
data/.rspec
CHANGED
File without changes
|
data/.rubocop.yml
CHANGED
File without changes
|
data/.travis.yml
CHANGED
File without changes
|
data/Gemfile
CHANGED
File without changes
|
data/LICENSE
CHANGED
File without changes
|
data/LICENSE.txt
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
data/Rakefile
CHANGED
File without changes
|
data/filex.gemspec
CHANGED
File without changes
|
data/lib/filex.rb
CHANGED
@@ -128,7 +128,7 @@ module Filex
|
|
128
128
|
end
|
129
129
|
|
130
130
|
#
|
131
|
-
# eRuby
|
131
|
+
# eRubyスクリプト文字列を、ハッシュを用いて置換した内容を、1個の文字列に変換
|
132
132
|
#
|
133
133
|
# @param eruby_str [String] eRubyスクリプト文字列
|
134
134
|
# @param data [Hash] eRubyスクリプト置換用ハッシュ
|
@@ -216,7 +216,7 @@ module Filex
|
|
216
216
|
# @param str [String] 分割対象文字列
|
217
217
|
# @return [Array<String>] 第0要素 分割文字列の左側部分、第1要素 分割文字列の右側部分
|
218
218
|
def self.hyphen_space(str)
|
219
|
-
if (m = /^(\s*((\-\s+)+))(
|
219
|
+
if (m = /^(\s*((\-\s+)+))(.*)$/.match(str))
|
220
220
|
left = m[1]
|
221
221
|
right = m[4]
|
222
222
|
end
|
@@ -233,30 +233,43 @@ module Filex
|
|
233
233
|
def self.escape_single_quote_yaml_first(line, state)
|
234
234
|
# lineに対して": "での分割を試みる
|
235
235
|
left, right = colon_space(line)
|
236
|
-
state[:mes].output_info("
|
236
|
+
state[:mes].output_info("F1|left=#{left}|right=#{right}")
|
237
|
+
# 分割できなければ、lineに対して":"での分割を試みる
|
237
238
|
left, right = colon(line) unless left
|
238
|
-
state[:mes].output_info("
|
239
|
+
state[:mes].output_info("F2|left=#{left}|right=#{right}")
|
239
240
|
|
241
|
+
# 右側部分に"-"が含まれていれば、"- "で区切れるか調べる
|
240
242
|
if right&.index("-")
|
241
243
|
left, right = hyphen_space(line)
|
242
|
-
state[:mes].output_info("
|
244
|
+
state[:mes].output_info("F3|left=#{left}")
|
243
245
|
if left
|
244
246
|
state[:need_quoto] = true
|
245
247
|
state[:mes].output_info("NQ|1|need_quoto=#{state[:need_quoto]}")
|
246
248
|
end
|
247
249
|
end
|
248
250
|
|
251
|
+
# lineが":"が分割できなければ、lineに対して"- "での分割を試みる
|
249
252
|
unless left
|
250
253
|
left, right = hyphen_space(line)
|
254
|
+
state[:mes].output_info("F4|left=#{left}|right=#{right}")
|
255
|
+
if right&.index("-") == 0
|
256
|
+
state[:mes].output_info("F-X|index=0|right.size=#{right.size}")
|
257
|
+
if right.size == 1
|
258
|
+
left += right
|
259
|
+
right = nil
|
260
|
+
else
|
261
|
+
state[:need_quoto] = true
|
262
|
+
end
|
263
|
+
end
|
251
264
|
end
|
252
265
|
|
266
|
+
state[:mes].output_info("FE|left=#{left}|right=#{right}")
|
253
267
|
[left, right]
|
254
268
|
end
|
255
269
|
|
256
270
|
#
|
257
271
|
# YAML形式の文字列に、シングルクォーテーションでのエスケープが必要かを調べる(第2段階)
|
258
272
|
#
|
259
|
-
# @param line [String] 対象文字列
|
260
273
|
# @param right [String] 対象文字列の分割右側部分
|
261
274
|
# @param state [Hash] 状態
|
262
275
|
# @option state [Messagex] :mes Messagexクラスのインスタンス
|
@@ -285,18 +298,19 @@ module Filex
|
|
285
298
|
# @param right [String] 対象文字列の分割右側部分
|
286
299
|
# @return [Array<String>] 第0要素 分割された文字列の左側部分、第1要素 分割された文字列の右側部分
|
287
300
|
def self.escape_single_quote_yaml_second(line, state, left, right)
|
288
|
-
state[:mes].output_info("4|left=#{left}|right=#{right}")
|
289
|
-
|
290
301
|
return [left, right] if right.nil? || right.strip.empty?
|
291
302
|
|
303
|
+
state[:mes].output_info("S1|left=#{left}|right=#{right}")
|
292
304
|
state[:has_quoto] = true if right.index("'")
|
293
305
|
|
294
|
-
|
295
|
-
|
296
|
-
return([left, right]) if /\d:/.match?(right)
|
306
|
+
if right.index(":")
|
307
|
+
state[:mes].output_info("S2|left=#{left}|right=#{right}")
|
297
308
|
|
309
|
+
return([left, right]) if /\d:/.match?(right)
|
310
|
+
state[:mes].output_info("S3|left=#{left}|right=#{right}")
|
311
|
+
end
|
298
312
|
left2, right2 = colon_space(right)
|
299
|
-
state[:mes].output_info("
|
313
|
+
state[:mes].output_info("S4|left2=#{left2}|right2=#{right2}")
|
300
314
|
|
301
315
|
unless left2
|
302
316
|
left2, right2 = check_colon_in_right(right, state)
|
@@ -305,8 +319,9 @@ module Filex
|
|
305
319
|
if left2
|
306
320
|
left += left2
|
307
321
|
right = right2
|
308
|
-
state[:mes].output_info("
|
322
|
+
state[:mes].output_info("S5|left=#{left}|right=#{right}")
|
309
323
|
end
|
324
|
+
state[:mes].output_info("S6|left=#{left}|right=#{right}")
|
310
325
|
[left, right]
|
311
326
|
end
|
312
327
|
|
@@ -322,17 +337,20 @@ module Filex
|
|
322
337
|
# @return [void]
|
323
338
|
def self.escape_single_quote_yaml_third(line, state, left, right)
|
324
339
|
return if right.nil? || right.strip.empty?
|
340
|
+
state[:mes].output_info("T1|left=#{left}|right=#{right}")
|
325
341
|
|
326
342
|
return if state[:need_quoto]
|
343
|
+
state[:mes].output_info("T2|left=#{left}|right=#{right}")
|
327
344
|
|
328
345
|
return unless right.index(":") && right.index("*")
|
346
|
+
state[:mes].output_info("T3|left=#{left}|right=#{right}")
|
329
347
|
|
330
|
-
state[:mes].output_info("
|
348
|
+
state[:mes].output_info("T4 not need_quoto")
|
331
349
|
unless right.index("-")
|
332
350
|
state[:need_quoto] = true
|
333
|
-
state[:mes].output_info("NQ|
|
351
|
+
state[:mes].output_info("NQ|T5|need_quoto=#{state[:need_quoto]}")
|
334
352
|
end
|
335
|
-
state[:mes].output_info("
|
353
|
+
state[:mes].output_info("T6 need_quoto=#{state[:need_quoto]}")
|
336
354
|
end
|
337
355
|
|
338
356
|
#
|
data/lib/filex/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yasuo kominami
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|