eew_parser 0.1.7 → 0.1.8

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: 2b294cfd9c1382b61a98de3a48840965b5385cc47f9b94660ec4083139be23ab
4
- data.tar.gz: 72da81378e933180388a00b0208ef833810e1916d691e4204d699629310ad0aa
3
+ metadata.gz: ae8383181310f29874188dc3942d9df92bb0ac30169c75d996f03348d5782cb2
4
+ data.tar.gz: ca535df81cb46272641ec3e96b8ec61998c636b24a1e24abdf0648d080b60038
5
5
  SHA512:
6
- metadata.gz: 52285f840a2de4ac27e9a8061fbf71d626966999a75d61d9f23a08b2c279a38c69995b4670d04fd06ef08742b2a829b2ccbe0858280990a6ed12800bcfe36111
7
- data.tar.gz: e375ab94a68a98dc9a2e45948631742a7aedb6dd73d778abb3def74b6761e94b48e8ac816c629f3878b2699948c3f7e296ff08c522482939928e427bdc8e1432
6
+ metadata.gz: 163f87126e02cf19187825a36cce18b590a7e3c3868c079ab99b40da9fbb8a6a014127c54bb44d3f8c516289488b7fcd4a8872d01ba7004b474e200bca493ea0
7
+ data.tar.gz: 66d9e28110c3b743d3a4faa771b015ee69d0352ff9e3a9c44a7df5bae176875b1cdc7a3dfdbed30e7d3634c3d0db1af96dd707d83dc9a82b662a0efc9dde5f3e
data/eew_parser.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "eew_parser"
3
- spec.version = "0.1.7"
3
+ spec.version = "0.1.8"
4
4
  spec.authors = ["Masaki Matsushita"]
5
5
  spec.email = ["glass.saga@gmail.com"]
6
6
  spec.summary = %q{Parser for Earthquake Early Warning from JMA}
data/lib/eew_parser.rb CHANGED
@@ -46,41 +46,46 @@ module EEW
46
46
 
47
47
  # 緊急地震速報の内容をテキストで出力します。
48
48
  def print
49
- str = <<-EOS
50
- 電文種別: #{self.type}
51
- 発信官署: #{self.from}
52
- 訓練等の識別符: #{self.drill_type}
53
- 電文の発表時刻: #{self.report_time}
54
- 電文がこの電文を含め何通あるか: #{self.number_of_telegram}
55
- コードが続くかどうか: #{self.continue?}
56
- 地震発生時刻もしくは地震検知時刻: #{self.earthquake_time}
57
- 地震識別番号: #{self.id}
58
- 発表状況(訂正等)の指示: #{self.status}
59
- 発表する高度利用者向け緊急地震速報の番号(地震単位での通番): #{self.number}
60
- 震央地名: #{self.epicenter}
61
- 震央の位置: #{self.position}
62
- 震源の深さ(単位 km)(不明・未設定時,キャンセル時:///): #{self.depth}
63
- マグニチュード(不明・未設定時、キャンセル時:///): #{self.magnitude}
64
- 最大予測震度(不明・未設定時、キャンセル時://): #{self.seismic_intensity}
65
- 震央の確からしさ: #{self.probability_of_position}
66
- 震源の深さの確からしさ: #{self.probability_of_depth}
67
- マグニチュードの確からしさ: #{self.probability_of_magnitude}
68
- 震央の確からしさ(気象庁の部内システムでの利用): #{self.probability_of_position_jma}
69
- 震源の深さの確からしさ(気象庁の部内システムでの利用): #{self.probability_of_depth_jma}
70
- 震央位置の海陸判定: #{self.land_or_sea}
71
- 警報を含む内容かどうか: #{self.warning?}
72
- 最大予測震度の変化: #{self.change}
73
- 最大予測震度の変化の理由: #{self.reason_of_change}
49
+ return @print.dup if @print
50
+
51
+ @print = <<-EOS
52
+ 緊急地震速報 (第#{number}報)
53
+ 電文種別: #{type}
54
+ 発信官署: #{from}
55
+ 訓練等の識別符: #{drill_type}
56
+ 電文の発表時刻: #{report_time.strftime("%F %T")}
57
+ 電文がこの電文を含め何通あるか: #{number_of_telegram}
58
+ コードが続くかどうか: #{continue?}
59
+ 地震発生時刻もしくは地震検知時刻: #{earthquake_time.strftime("%F %T")}
60
+ 地震識別番号: #{id}
61
+ 発表状況(訂正等)の指示: #{status}
62
+ 発表する高度利用者向け緊急地震速報の番号(地震単位での通番): #{number}
63
+ 震央地名: #{epicenter}
64
+ 震央の位置: #{position}
65
+ 震源の深さ(単位 km)(不明・未設定時,キャンセル時:///): #{depth}
66
+ マグニチュード(不明・未設定時、キャンセル時:///): #{magnitude}
67
+ 最大予測震度(不明・未設定時、キャンセル時://): #{seismic_intensity}
68
+ 震央の確からしさ: #{probability_of_position}
69
+ 震源の深さの確からしさ: #{probability_of_depth}
70
+ マグニチュードの確からしさ: #{probability_of_magnitude}
71
+ 震央の確からしさ(気象庁の部内システムでの利用): #{probability_of_position_jma}
72
+ 震源の深さの確からしさ(気象庁の部内システムでの利用): #{probability_of_depth_jma}
73
+ 震央位置の海陸判定: #{land_or_sea}
74
+ 警報を含む内容かどうか: #{warning?}
75
+ 最大予測震度の変化: #{change}
76
+ 最大予測震度の変化の理由: #{reason_of_change}
74
77
  EOS
75
78
 
76
- unless self.ebi.empty?
77
- str << "\n地域毎の警報の判別、最大予測震度及び主要動到達予測時刻(EBI):"
78
- self.ebi.each do |local|
79
- str << "地域名: #{local[:area_name]} 最大予測震度: #{local[:intensity]} 予想到達時刻: #{local[:arrival_time]} 警報を含むかどうか: #{local[:warning]} 既に到達しているかどうか: #{local[:arrival]}\n"
79
+ if has_ebi?
80
+ @print << "\n地域毎の警報の判別、最大予測震度及び主要動到達予測時刻(EBI):\n"
81
+ ebi.each do |local|
82
+ arrival_time = local[:arrival] ? "すでに到達" : local[:arrival_time]&.strftime("%T")
83
+ @print << "#{local[:area_name]} 最大予測震度: #{local[:intensity]} 予想到達時刻: #{arrival_time} 警報: #{local[:warning]}\n"
80
84
  end
81
85
  end
82
86
 
83
- return str
87
+ @print.freeze
88
+ return @print.dup
84
89
  end
85
90
 
86
91
  Attributes = [
@@ -107,7 +112,7 @@ module EEW
107
112
  end
108
113
 
109
114
  def inspect
110
- "#<EEWParser:#{id} (第#{number}報) #{epicenter} #{seismic_intensity}>"
115
+ "#<EEWParser:#{id} (第#{number}報) #{epicenter} 震度#{seismic_intensity}>"
111
116
  end
112
117
 
113
118
  def ==(other)
@@ -189,6 +194,8 @@ module EEW
189
194
  # 電文の発表時刻のTimeオブジェクトを返します。
190
195
  def report_time
191
196
  Time.local("20" + @fastcast[9, 2], @fastcast[11, 2], @fastcast[13, 2], @fastcast[15, 2], @fastcast[17, 2], @fastcast[19, 2])
197
+ rescue ArgumentError
198
+ raise Error, "電文の形式が不正です (発表時刻: #{@fastcast[9, 12]})"
192
199
  end
193
200
 
194
201
  # 電文がこの電文を含め何通あるか(Integer)
@@ -214,6 +221,8 @@ module EEW
214
221
  # 地震発生時刻もしくは地震検知時刻のTimeオブジェクトを返します。
215
222
  def earthquake_time
216
223
  Time.local("20" + @fastcast[26, 2], @fastcast[28, 2], @fastcast[30, 2], @fastcast[32, 2], @fastcast[34, 2], @fastcast[36, 2])
224
+ rescue ArgumentError
225
+ raise Error, "電文の形式が不正です (地震発生時刻: #{@fastcast[26, 12]})"
217
226
  end
218
227
 
219
228
  # 地震識別番号(String)
@@ -226,7 +235,7 @@ module EEW
226
235
  end
227
236
 
228
237
  def __id__
229
- id + number.to_s
238
+ (id * 10) + number
230
239
  end
231
240
 
232
241
  # 発表状況(訂正等)の指示
@@ -249,6 +258,12 @@ module EEW
249
258
  end
250
259
  end
251
260
 
261
+ # 発表状況と訓練識別が通常かどうか
262
+ def normal?
263
+ return true if @fastcast[59] == "0" && @fastcast[6, 2] == "00"
264
+ return false
265
+ end
266
+
252
267
  # 第1報であればtrueを、そうでなければfalseを返します。
253
268
  def first?
254
269
  return true if self.number == 1
@@ -272,7 +287,7 @@ module EEW
272
287
  number = @fastcast[60, 2]
273
288
  return Integer(number, 10)
274
289
  rescue ArgumentError
275
- raise Error, "電文の形式が不正です(高度利用者向け緊急地震速報の番号)"
290
+ raise Error, "電文の形式が不正です(高度利用者向け緊急地震速報の番号: #{number})"
276
291
  end
277
292
 
278
293
  alias :revision :number
@@ -282,10 +297,8 @@ module EEW
282
297
  code = @fastcast[86, 3]
283
298
  code = Integer(code, 10)
284
299
  EpicenterCode.fetch(code)
285
- rescue KeyError
300
+ rescue ArgumentError, KeyError
286
301
  raise Error, "電文の形式が不正です(震央地名コード: #{code})"
287
- rescue ArgumentError
288
- raise Error, "電文の形式が不正です(震央の名称)"
289
302
  end
290
303
 
291
304
  # 震央の位置
@@ -294,7 +307,7 @@ module EEW
294
307
  if position == "//// /////"
295
308
  "不明又は未設定"
296
309
  else
297
- raise Error, "電文の形式が不正です(震央の位置)" unless position.match(/N\d{3} E\d{4}/)
310
+ raise Error, "電文の形式が不正です(震央の位置)" unless position.match(/(?:N|S)\d{3} (?:E|W)\d{4}/)
298
311
  position.insert(3, ".").insert(10, ".")
299
312
  end
300
313
  end
@@ -325,32 +338,24 @@ module EEW
325
338
  raise Error, "電文の形式が不正です(マグニチュード)"
326
339
  end
327
340
 
341
+ SeismicIntensity = {
342
+ "//" => "不明又は未設定",
343
+ "01" => "1",
344
+ "02" => "2",
345
+ "03" => "3",
346
+ "04" => "4",
347
+ "5-" => "5弱",
348
+ "5+" => "5強",
349
+ "6-" => "6弱",
350
+ "6+" => "6強",
351
+ "07" => "7"
352
+ }.freeze
353
+
328
354
  # 電文フォーマットの震度を文字列に変換
329
355
  def to_seismic_intensity(str)
330
- case str
331
- when "//"
332
- "不明又は未設定"
333
- when "01"
334
- "1"
335
- when "02"
336
- "2"
337
- when "03"
338
- "3"
339
- when "04"
340
- "4"
341
- when "5-"
342
- "5弱"
343
- when "5+"
344
- "5強"
345
- when "6-"
346
- "6弱"
347
- when "6+"
348
- "6強"
349
- when "07"
350
- "7"
351
- else
352
- raise Error, "電文の形式が不正です(震度)"
353
- end
356
+ SeismicIntensity.fetch(str)
357
+ rescue KeyError
358
+ raise Error, "電文の形式が不正です(震度: #{str})"
354
359
  end
355
360
 
356
361
  # 最大予測震度
@@ -358,60 +363,31 @@ module EEW
358
363
  to_seismic_intensity(@fastcast[108, 2])
359
364
  end
360
365
 
366
+ OriginProbability = {
367
+ "1" => "P波/S波レベル越え、またはIPF法(1点) または仮定震源要素の場合",
368
+ "2" => "IPF法(2点)",
369
+ "3" => "IPF法(3点/4点)",
370
+ "4" => "IPF法(5点)",
371
+ "5" => "防災科研システム(4点以下、または精度情報なし)[防災科研Hi-netデータ]",
372
+ "6" => "防災科研システム(5点以上)[防災科研Hi-netデータ]",
373
+ "7" => "EPOS(海域[観測網外])",
374
+ "8" => "EPOS(内陸[観測網内])",
375
+ "9" => "予備",
376
+ "/" =>"不明又は未設定"
377
+ }.freeze
378
+
361
379
  # 震央の確からしさ
362
380
  def probability_of_position
363
- case @fastcast[113]
364
- when "1"
365
- "P波/S波レベル越え、またはテリトリー法(1点)[気象庁データ]"
366
- when "2"
367
- "テリトリー法(2点)[気象庁データ]"
368
- when "3"
369
- "グリッドサーチ法(3点/4点)[気象庁データ]"
370
- when "4"
371
- "グリッドサーチ法(5点)[気象庁データ]"
372
- when "5"
373
- "防災科研システム(4点以下、または精度情報なし)[防災科学技術研究所データ]"
374
- when "6"
375
- "防災科研システム(5点以上)[防災科学技術研究所データ]"
376
- when "7"
377
- "EPOS(海域[観測網外])[気象庁データ]"
378
- when "8"
379
- "EPOS(内陸[観測網内])[気象庁データ]"
380
- when "9"
381
- "予備"
382
- when "/"
383
- "不明又は未設定"
384
- else
385
- raise Error, "電文の形式が不正です(震央の確からしさ)"
386
- end
381
+ OriginProbability.fetch(@fastcast[113])
382
+ rescue KeyError
383
+ raise Error, "電文の形式が不正です(震央の確からしさ)"
387
384
  end
388
385
 
389
386
  # 震源の深さの確からしさ
390
387
  def probability_of_depth
391
- case @fastcast[114]
392
- when "1"
393
- "P波/S波レベル越え、またはテリトリー法(1点)[気象庁データ]"
394
- when "2"
395
- "テリトリー法(2点)[気象庁データ]"
396
- when "3"
397
- "グリッドサーチ法(3点/4点)[気象庁データ]"
398
- when "4"
399
- "グリッドサーチ法(5点)[気象庁データ]"
400
- when "5"
401
- "防災科研システム(4点以下、または精度情報なし)[防災科学技術研究所データ]"
402
- when "6"
403
- "防災科研システム(5点以上)[防災科学技術研究所データ]"
404
- when "7"
405
- "EPOS(海域[観測網外])[気象庁データ]"
406
- when "8"
407
- "EPOS(内陸[観測網内])[気象庁データ]"
408
- when "9"
409
- "予備"
410
- when "/", "0"
411
- "不明又は未設定"
412
- else
413
- raise Error, "電文の形式が不正です(震源の深さの確からしさ)"
414
- end
388
+ OriginProbability.fetch(@fastcast[114])
389
+ rescue KeyError
390
+ raise Error, "電文の形式が不正です(震央の確からしさ)"
415
391
  end
416
392
 
417
393
  # マグニチュードの確からしさ
@@ -420,19 +396,19 @@ module EEW
420
396
  when "1"
421
397
  "未定義"
422
398
  when "2"
423
- "防災科研システム[防災科学技術研究所データ]"
399
+ "防災科研システム[防災科研Hi-netデータ]"
424
400
  when "3"
425
- "全点P相(最大5点)[気象庁データ]"
401
+ "全点P相"
426
402
  when "4"
427
- "P相/全相混在[気象庁データ]"
403
+ "P相/全相混在"
428
404
  when "5"
429
- "全点全相(最大5点)[気象庁データ]"
405
+ "全点全相"
430
406
  when "6"
431
- "EPOS[気象庁データ]"
407
+ "EPOS"
432
408
  when "7"
433
409
  "未定義"
434
410
  when "8"
435
- "P波/S波レベル越え[気象庁データ]"
411
+ "P波/S波レベル越え または仮定震源要素の場合"
436
412
  when "9"
437
413
  "予備"
438
414
  when "/", "0"
@@ -442,40 +418,47 @@ module EEW
442
418
  end
443
419
  end
444
420
 
445
- # 震央の確からしさ(※気象庁の部内システムでの利用)
446
- def probability_of_position_jma
421
+ # マグニチュード使用観測点(※気象庁の部内システムでの利用)
422
+ def observation_points_of_magnitude
447
423
  case @fastcast[116]
448
424
  when "1"
449
- "P波/S波レベル越え又はテリトリー法(1点)[気象庁データ]"
425
+ "1点、P波/S波レベル超え、または仮定震源要素"
450
426
  when "2"
451
- "テリトリー法(2点)[気象庁データ]"
427
+ "2点"
452
428
  when "3"
453
- "グリッドサーチ法(3点/4)[気象庁データ]"
429
+ "3点"
454
430
  when "4"
455
- "グリッドサーチ法(5)[気象庁データ]"
431
+ "4点"
432
+ when "5"
433
+ "5点以上"
456
434
  when "/"
457
435
  "不明又は未設定"
458
- when "5".."9", "0"
436
+ when "6".."9", "0"
459
437
  "未定義"
460
438
  else
461
- raise Error, "電文の形式が不正です(震央の確からしさ[気象庁の部内システムでの利用])"
439
+ raise Error, "電文の形式が不正です(マグニチュード使用観測点[気象庁の部内システムでの利用])"
462
440
  end
463
441
  end
464
442
 
443
+ # 後方互換性のため
444
+ alias probability_of_position_jma observation_points_of_magnitude
445
+
465
446
  # 震源の深さの確からしさ(※気象庁の部内システムでの利用)
466
447
  def probability_of_depth_jma
467
448
  case @fastcast[117]
468
449
  when "1"
469
- "P波/S波レベル越え又はテリトリー法(1点)[気象庁データ]"
450
+ "P波/S波レベル越え、IPF法(1点)、または仮定震源要素"
470
451
  when "2"
471
- "テリトリー法(2点)[気象庁データ]"
452
+ "IPF法(2点)"
472
453
  when "3"
473
- "グリッドサーチ法(3点/4点)[気象庁データ]"
454
+ "IPF法(3点/4点)"
474
455
  when "4"
475
- "グリッドサーチ法(5)[気象庁データ]"
456
+ "IPF法(5点以上)"
457
+ when "9"
458
+ "震源とマグニチュードに基づく震度予測手法の精度が最終報相当"
476
459
  when "/"
477
460
  "不明又は未設定"
478
- when "5".."9", "0"
461
+ when "5".."8", "0"
479
462
  "未定義"
480
463
  else
481
464
  raise Error, "電文の形式が不正です(震源の深さの確からしさ[気象庁の部内システムでの利用])"
@@ -510,6 +493,20 @@ module EEW
510
493
  end
511
494
  end
512
495
 
496
+ # 予測手法
497
+ def warning?
498
+ case @fastcast[123]
499
+ when "9"
500
+ "震源とマグニチュードによる震度推定手法において震源要素が推定できず、PLUM 法による震度予測のみが有効である場合"
501
+ when "0".."8"
502
+ "未定義"
503
+ when "/"
504
+ "不明又は未設定"
505
+ else
506
+ raise Error, "電文の形式が不正です(警報の判別)"
507
+ end
508
+ end
509
+
513
510
  # 最大予測震度の変化
514
511
  def change
515
512
  case @fastcast[129]
@@ -551,9 +548,11 @@ module EEW
551
548
  "M及び震源位置が変化したため"
552
549
  when "4"
553
550
  "震源の深さが変化したため"
551
+ when "9"
552
+ "PLUM 法による予測により変化したため"
554
553
  when "/"
555
554
  "不明又は未設定"
556
- when "5".."9"
555
+ when "5".."8"
557
556
  "未定義"
558
557
  else
559
558
  raise Error, "電文の形式が不正です(最大予測震度の変化の理由)"
@@ -577,8 +576,10 @@ module EEW
577
576
  # :warning 警報を含んでいればtrue、含んでいなければfalse、電文にこの項目が設定されていなければnil
578
577
  # :arrival 既に到達していればtrue、そうでなければfalse、電文にこの項目が設定されていなければnil
579
578
  def ebi
580
- data = []
581
- return data unless @fastcast[135, 3] == "EBI"
579
+ return [] unless has_ebi?
580
+ return @ebi.dup if @ebi
581
+
582
+ @ebi = []
582
583
  i = 139
583
584
  while i + 20 < @fastcast.bytesize
584
585
  local = {}
@@ -617,10 +618,11 @@ module EEW
617
618
  else
618
619
  raise Error, "電文の形式が不正でです(主要動の到達予測状況[EBI])"
619
620
  end
620
- data << local
621
+ @ebi << local
621
622
  i += 20
622
623
  end
623
- data
624
+ @ebi.freeze
625
+ return @ebi.dup
624
626
  end
625
627
  end
626
628
  end
@@ -677,4 +679,7 @@ FC
677
679
  puts "地域コード: #{local[:area_code]} 地域名: #{local[:area_name]} 最大予測震度: #{local[:intensity]} 予想到達時刻: #{local[:arrival_time]}"
678
680
  puts "警報を含むかどうか: #{local[:warning]} 既に到達しているかどうか: #{local[:arrival]}"
679
681
  end
682
+
683
+ puts fc.print
684
+ p EEW::AreaCode.values.max_by(&:size).size
680
685
  end
@@ -67,6 +67,8 @@ EBI 251 S6+6- ////// 11 300 S5+5- ////// 11 250 S5+5- ////// 11
67
67
 
68
68
  its(:status) { is_expected.to eq("通常発表") }
69
69
 
70
+ it { is_expected.to be_normal }
71
+
70
72
  it { is_expected.not_to be_first }
71
73
 
72
74
  it { is_expected.not_to be_final }
@@ -83,15 +85,17 @@ EBI 251 S6+6- ////// 11 300 S5+5- ////// 11 250 S5+5- ////// 11
83
85
 
84
86
  its(:seismic_intensity) { is_expected.to eq("6強") }
85
87
 
86
- its(:probability_of_position) { is_expected.to eq("防災科研システム(5点以上)[防災科学技術研究所データ]") }
88
+ its(:probability_of_position) { is_expected.to eq("防災科研システム(5点以上)[防災科研Hi-netデータ]") }
89
+
90
+ its(:probability_of_depth) { is_expected.to eq("防災科研システム(5点以上)[防災科研Hi-netデータ]") }
87
91
 
88
- its(:probability_of_depth) { is_expected.to eq("防災科研システム(5点以上)[防災科学技術研究所データ]") }
92
+ its(:probability_of_magnitude) { is_expected.to eq("全点P相") }
89
93
 
90
- its(:probability_of_magnitude) { is_expected.to eq("全点P相(最大5)[気象庁データ]") }
94
+ its(:observation_points_of_magnitude) { is_expected.to eq("2点") }
91
95
 
92
- its(:probability_of_position_jma) { is_expected.to eq("テリトリー法(2点)[気象庁データ]") }
96
+ its(:probability_of_position_jma) { is_expected.to eq("2点") }
93
97
 
94
- its(:probability_of_depth_jma) { is_expected.to eq("グリッドサーチ法(5)[気象庁データ]") }
98
+ its(:probability_of_depth_jma) { is_expected.to eq("IPF法(5点以上)") }
95
99
 
96
100
  its(:land_or_sea) { is_expected.to eq("陸域") }
97
101
 
@@ -158,10 +162,25 @@ ND20110415005001 NCN001 JD////////////// JN///
158
162
  "37 03 00 141215195526 C11\n141215195426\nND20141215195438 NCN903 JD////////////// JN003\n309 N350 E1403 070 38 02 RK77604 RT10/// RC0////\n9999="
159
163
  end
160
164
 
161
- it "doesn't raise EEW::Parser::Error" do
165
+ it "can be verified" do
166
+ expect {
167
+ eew = EEW::Parser.new(invalid)
168
+ eew.verify
169
+ }.not_to raise_error
170
+ end
171
+ end
172
+
173
+ context "南緯と西経" do
174
+ let(:sw) do
175
+ "37 03 00 141215195526 C11\n141215195426\nND20141215195438 NCN903 JD////////////// JN003\n309 S350 W1403 070 38 02 RK77604 RT10/// RC0////\n9999="
176
+ end
177
+
178
+ it "can be verified" do
179
+ eew = nil
162
180
  expect {
163
- EEW::Parser.new(invalid)
181
+ eew = EEW::Parser.new(sw)
164
182
  }.not_to raise_error
183
+ expect(eew.position).to eq("S35.0 W140.3")
165
184
  end
166
185
  end
167
186
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eew_parser
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
  - Masaki Matsushita