oddb2xml 2.2.9 → 2.3.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: dc4d3a7108297dee9fb8d8070efa75d40f3d8a56
4
- data.tar.gz: 3930fd61351c96d10432261df2c38d5026e01ba0
3
+ metadata.gz: 1ab40ef8c4f53f94608a1e9fc3b0b7a374ef5792
4
+ data.tar.gz: 6d9f87677f27a84001f543383a39a1eff8d67590
5
5
  SHA512:
6
- metadata.gz: ee32efa8ea3a40d8db306d143886ac6b47a3d52d981755a5d11b4bb8afa2d01b24fb699db72ae5050b6b2cad3ffbd6e285646dad71e2d5b810d1d2cd514a4b3d
7
- data.tar.gz: a273149b0c1b926a26e599da00f081e91e1291e40e5ae6ecd981d1e9be1fc78b2756021ac772c68332d5d152ca49ec67e9df799c74eb910ceed44db034d62402
6
+ metadata.gz: 626a02b6dab71eda2290cd3dc8197f622e5cd6ad1884e113b4f4aa0bb252f3e480bc20b9cb9be6dd202b7dff0313aaf7e68171e359c91279572b531dd31b36ce
7
+ data.tar.gz: 0239307754df9f22d634e814da89bfe8430c6aa14b33774c0cbeaa61f2f09e2469b2999cf8e19e3722f39ec8ab3e40fad8ee0e8ca0534d8492cc6ce19a3db000
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oddb2xml (2.2.9)
4
+ oddb2xml (2.3.0)
5
5
  archive-tar-minitar
6
6
  httpi (>= 2.4.1)
7
7
  mechanize
@@ -51,12 +51,12 @@ GEM
51
51
  webrobots (>= 0.0.9, < 0.2)
52
52
  method_source (0.8.2)
53
53
  mime-types (2.99)
54
- mini_portile (0.6.2)
54
+ mini_portile2 (2.0.0)
55
55
  multi_json (1.11.2)
56
56
  net-http-digest_auth (1.4)
57
57
  net-http-persistent (2.9.4)
58
- nokogiri (1.6.6.4)
59
- mini_portile (~> 0.6.0)
58
+ nokogiri (1.6.7)
59
+ mini_portile2 (~> 2.0.0.rc2)
60
60
  nori (2.6.0)
61
61
  ntlm-http (0.1.1)
62
62
  parslet (1.7.1)
@@ -105,8 +105,8 @@ GEM
105
105
  wasabi (~> 3.4)
106
106
  sax-machine (1.3.2)
107
107
  slop (3.6.0)
108
- spreadsheet (1.0.9)
109
- ruby-ole (>= 1.0)
108
+ spreadsheet (1.1.1)
109
+ ruby-ole (~> 1.0)
110
110
  timecop (0.8.0)
111
111
  unf (0.1.4)
112
112
  unf_ext
@@ -138,4 +138,4 @@ DEPENDENCIES
138
138
  webmock
139
139
 
140
140
  BUNDLED WITH
141
- 1.10.5
141
+ 1.10.6
data/History.txt CHANGED
@@ -1,3 +1,7 @@
1
+ === 2.3.0 /15.12.2015
2
+
3
+ * emit correct NBR_RECORD in oddb*.xml
4
+
1
5
  === 2.2.9 / 1.12.2015
2
6
 
3
7
  * Added value 'C' (Co-marketing) for GENCD from BAG Preparations.xml
@@ -273,18 +273,20 @@ module Oddb2xml
273
273
  ) {
274
274
  Oddb2xml.log "build_substance #{@substances.size} substances"
275
275
  exit 2 if @options[:extended] and @substances.size == 0
276
+ nbr_records = 0
276
277
  @substances.each_with_index do |sub_name, i|
277
- xml.SB('DT' => '') {
278
+ xml.SB('DT' => '') do
278
279
  xml.SUBNO((i + 1).to_i)
279
280
  #xml.NAMD
280
281
  #xml.ANAMD
281
282
  #xml.NAMF
282
283
  xml.NAML sub_name
283
- }
284
+ nbr_records += 1
285
+ end
284
286
  end
285
287
  xml.RESULT {
286
288
  xml.OK_ERROR 'OK'
287
- xml.NBR_RECORD @substances.length.to_s
289
+ xml.NBR_RECORD nbr_records
288
290
  xml.ERROR_CODE ''
289
291
  xml.MESSAGE ''
290
292
  }
@@ -299,6 +301,7 @@ module Oddb2xml
299
301
  xml.doc.tag_suffix = @tag_suffix
300
302
  datetime = Time.new.strftime('%FT%T%z')
301
303
  xml.LIMITATION(XML_OPTIONS) {
304
+ nbr_records = 0
302
305
  @limitations.each do |lim|
303
306
  xml.LIM('DT' => '') {
304
307
  case lim[:key]
@@ -320,11 +323,13 @@ module Oddb2xml
320
323
  if lim[:del]
321
324
  xml.DEL 3
322
325
  end
326
+ nbr_records += 1
327
+
323
328
  }
324
329
  end
325
330
  xml.RESULT {
326
331
  xml.OK_ERROR 'OK'
327
- xml.NBR_RECORD @limitations.length.to_s
332
+ xml.NBR_RECORD nbr_records
328
333
  xml.ERROR_CODE ''
329
334
  xml.MESSAGE ''
330
335
  }
@@ -335,6 +340,7 @@ module Oddb2xml
335
340
  def build_interaction
336
341
  prepare_interactions
337
342
  prepare_codes
343
+ nbr_records = 0
338
344
  _builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
339
345
  xml.doc.tag_suffix = @tag_suffix
340
346
  datetime = Time.new.strftime('%FT%T%z')
@@ -378,11 +384,12 @@ module Oddb2xml
378
384
  # xml.TXTD
379
385
  # xml.TXTF
380
386
  #}
387
+ nbr_records += 1
381
388
  }
382
389
  end
383
390
  xml.RESULT {
384
391
  xml.OK_ERROR 'OK'
385
- xml.NBR_RECORD @interactions.length.to_s
392
+ xml.NBR_RECORD nbr_records
386
393
  xml.ERROR_CODE ''
387
394
  xml.MESSAGE ''
388
395
  }
@@ -392,6 +399,7 @@ module Oddb2xml
392
399
  end
393
400
  def build_code
394
401
  prepare_codes
402
+ nbr_records = 0
395
403
  Oddb2xml.log "build_code #{@codes.size} codes"
396
404
  _builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
397
405
  xml.doc.tag_suffix = @tag_suffix
@@ -408,11 +416,12 @@ module Oddb2xml
408
416
  #xml.DSCRD
409
417
  #xml.DSCRF
410
418
  xml.DEL false
419
+ nbr_records += 1
411
420
  }
412
421
  end
413
422
  xml.RESULT {
414
423
  xml.OK_ERROR 'OK'
415
- xml.NBR_RECORD @codes.keys.length
424
+ xml.NBR_RECORD nbr_records
416
425
  xml.ERROR_CODE ''
417
426
  xml.MESSAGE ''
418
427
  }
@@ -451,6 +460,7 @@ module Oddb2xml
451
460
  prepare_interactions
452
461
  prepare_codes
453
462
  add_missing_products_from_swissmedic
463
+ nbr_records = 0
454
464
  Oddb2xml.log "build_product #{@products.size+@missing.size} products"
455
465
  _builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
456
466
  xml.doc.tag_suffix = @tag_suffix
@@ -491,7 +501,7 @@ module Oddb2xml
491
501
  next if /^Q/i.match(obj[:atc])
492
502
  seq = obj[:seq]
493
503
  length += 1
494
- xml.PRD('DT' => obj[:last_change]) {
504
+ xml.PRD('DT' => obj[:last_change]) do
495
505
  ean = obj[:ean]
496
506
  xml.GTIN ean
497
507
  ppac = ((_ppac = @packs[ean.to_s[4..11].intern] and !_ppac[:is_tier]) ? _ppac : {})
@@ -608,11 +618,12 @@ module Oddb2xml
608
618
  xml.EinheitSwissmedic obj[:eht] unless obj[:eht].empty?
609
619
  xml.SubstanceSwissmedic obj[:sub] unless obj[:sub].empty?
610
620
  xml.CompositionSwissmedic obj[:comp] unless obj[:comp].empty?
611
- }
621
+ nbr_records += 1
622
+ end
612
623
  end
613
624
  xml.RESULT {
614
625
  xml.OK_ERROR 'OK'
615
- xml.NBR_RECORD length.to_s
626
+ xml.NBR_RECORD nbr_records
616
627
  xml.ERROR_CODE ''
617
628
  xml.MESSAGE ''
618
629
  }
@@ -752,6 +763,7 @@ module Oddb2xml
752
763
  prepare_limitations
753
764
  prepare_articles
754
765
  idx = 0
766
+ nbr_records = 0
755
767
  Oddb2xml.log "build_article #{idx} of #{@articles.size} articles"
756
768
  _builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
757
769
  xml.doc.tag_suffix = @tag_suffix
@@ -784,7 +796,8 @@ module Oddb2xml
784
796
  if !@infos_zur_rose.empty? && ean && @infos_zur_rose[ean]
785
797
  info_zur_rose = @infos_zur_rose[ean] # zurrose
786
798
  end
787
- xml.ART('DT' => obj[:last_change] ? obj[:last_change] : '') {
799
+ xml.ART('DT' => obj[:last_change] ? obj[:last_change] : '') do
800
+ nbr_records += 1
788
801
  xml.REF_DATA (obj[:refdata] || @migel[pharma_code]) ? '1' : '0'
789
802
  xml.PHAR sprintf('%07d', obj[:pharmacode]) if obj[:pharmacode]
790
803
  #xml.GRPCD
@@ -948,11 +961,11 @@ module Oddb2xml
948
961
  xml.NINCD nincd
949
962
  }
950
963
  end
951
- }
964
+ end
952
965
  end
953
966
  xml.RESULT {
954
967
  xml.OK_ERROR 'OK'
955
- xml.NBR_RECORD @articles.length.to_s
968
+ xml.NBR_RECORD nbr_records
956
969
  xml.ERROR_CODE ''
957
970
  xml.MESSAGE ''
958
971
  }
@@ -962,6 +975,7 @@ module Oddb2xml
962
975
  Oddb2xml.add_hash(_builder.to_xml)
963
976
  end
964
977
  def build_fi
978
+ nbr_records = 0
965
979
  _builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
966
980
  xml.doc.tag_suffix = @tag_suffix
967
981
  datetime = Time.new.strftime('%FT%T%z')
@@ -985,12 +999,13 @@ module Oddb2xml
985
999
  xml.monid info[:monid] unless info[:monid].empty?
986
1000
  xml.style { xml.cdata(info[:style]) } if info[:style]
987
1001
  xml.paragraph { xml.cdata(Nokogiri::HTML.fragment(info[:paragraph].to_html).to_html(:encoding => 'UTF-8')) } if info[:paragraph]
1002
+ nbr_records += 1
988
1003
  }
989
1004
  end
990
1005
  end
991
1006
  xml.RESULT {
992
1007
  xml.OK_ERROR 'OK'
993
- xml.NBR_RECORD length
1008
+ xml.NBR_RECORD nbr_records
994
1009
  xml.ERROR_CODE ''
995
1010
  xml.MESSAGE ''
996
1011
  }
@@ -1000,6 +1015,7 @@ module Oddb2xml
1000
1015
  end
1001
1016
  def build_fi_product
1002
1017
  prepare_products
1018
+ nbr_records = 0
1003
1019
  _builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
1004
1020
  xml.doc.tag_suffix = @tag_suffix
1005
1021
  datetime = Time.new.strftime('%FT%T%z')
@@ -1027,13 +1043,14 @@ module Oddb2xml
1027
1043
  xml.PRDNO seq[:product_key] unless seq[:product_key].empty?
1028
1044
  # as orphan ?
1029
1045
  xml.DEL @orphan.include?(number) ? true : false
1046
+ nbr_records += 1
1030
1047
  }
1031
1048
  }
1032
1049
  end
1033
1050
  end
1034
1051
  xml.RESULT {
1035
1052
  xml.OK_ERROR 'OK'
1036
- xml.NBR_RECORD length
1053
+ xml.NBR_RECORD nbr_records
1037
1054
  xml.ERROR_CODE ''
1038
1055
  xml.MESSAGE ''
1039
1056
  }
@@ -1042,6 +1059,7 @@ module Oddb2xml
1042
1059
  Oddb2xml.add_hash(_builder.to_xml)
1043
1060
  end
1044
1061
  def build_company
1062
+ nbr_records = 0
1045
1063
  Oddb2xml.log "build_company #{@companies.size} companies"
1046
1064
  _builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
1047
1065
  xml.doc.tag_suffix = @tag_suffix
@@ -1060,11 +1078,12 @@ module Oddb2xml
1060
1078
  xml.Land c[:country] unless c[:country].empty?
1061
1079
  xml.Betriebstyp c[:type] unless c[:type].empty?
1062
1080
  xml.BTM_Berechtigung c[:authorization] unless c[:authorization].empty?
1081
+ nbr_records += 1
1063
1082
  }
1064
1083
  end
1065
1084
  xml.RESULT {
1066
1085
  xml.OK_ERROR 'OK'
1067
- xml.NBR_RECORD @companies.length
1086
+ xml.NBR_RECORD nbr_records
1068
1087
  xml.ERROR_CODE ''
1069
1088
  xml.MESSAGE ''
1070
1089
  }
@@ -1073,6 +1092,7 @@ module Oddb2xml
1073
1092
  Oddb2xml.add_hash(_builder.to_xml)
1074
1093
  end
1075
1094
  def build_person
1095
+ nbr_records = 0
1076
1096
  Oddb2xml.log "build_person #{@people.size} persons"
1077
1097
  _builder = Nokogiri::XML::Builder.new(:encoding => 'utf-8') do |xml|
1078
1098
  xml.doc.tag_suffix = @tag_suffix
@@ -1090,11 +1110,12 @@ module Oddb2xml
1090
1110
  xml.Bewilligung_Selbstdispensation p[:license] unless p[:license].empty?
1091
1111
  xml.Diplom p[:certificate] unless p[:certificate].empty?
1092
1112
  xml.BTM_Berechtigung p[:authorization] unless p[:authorization].empty?
1113
+ nbr_records += 1
1093
1114
  }
1094
1115
  end
1095
1116
  xml.RESULT {
1096
1117
  xml.OK_ERROR 'OK'
1097
- xml.NBR_RECORD @people.length
1118
+ xml.NBR_RECORD nbr_records
1098
1119
  xml.ERROR_CODE ''
1099
1120
  xml.MESSAGE ''
1100
1121
  }
@@ -1,3 +1,3 @@
1
1
  module Oddb2xml
2
- VERSION = "2.2.9"
2
+ VERSION = "2.3.0"
3
3
  end
data/spec/builder_spec.rb CHANGED
@@ -229,6 +229,14 @@ MEDIZINALPERSON_ELEMENT_TESTS = [
229
229
  ['Personen/Person/BTM_Berechtigung', 'BTM_Berechtigung'],
230
230
  ]
231
231
 
232
+ def check_result(rexml, nbr_record)
233
+ expect(XPath.match(rexml, '//RESULT/NBR_RECORD').size).to eq 1
234
+ expect(XPath.match(rexml, '//RESULT/NBR_RECORD').first.text.to_i).to eq nbr_record
235
+ expect(XPath.match(rexml, '//RESULT/OK_ERROR').first.text).to eq 'OK'
236
+ expect(XPath.match(rexml, '//RESULT/ERROR_CODE').first.text).to eq nil
237
+ expect(XPath.match(rexml, '//RESULT/MESSAGE').first.text).to eq nil
238
+ end
239
+
232
240
  def checkItemForRefdata(doc, pharmacode, isRefdata)
233
241
  article = XPath.match( doc, "//ART[PHAR=#{pharmacode.to_s}]").first
234
242
  name = article.elements['DSCRD'].text
@@ -403,12 +411,13 @@ def checkArticleXml(checkERYTHROCIN = true)
403
411
  # TODO: desitin.elements['QTY'].text.should eq '250 mg'
404
412
  end
405
413
 
406
- def checkProductXml
414
+ def checkProductXml(nbr_record = -1)
407
415
  product_filename = File.expand_path(File.join(Oddb2xml::WorkDir, 'oddb_product.xml'))
408
416
  expect(File.exists?(product_filename)).to eq true
409
417
 
410
418
  # check products
411
419
  doc = REXML::Document.new IO.read(product_filename)
420
+ check_result(doc, nbr_record)
412
421
 
413
422
  desitin = checkAndGetProductWithGTIN(doc, Oddb2xml::LEVETIRACETAM_GTIN)
414
423
  expect(desitin.elements['ATC'].text).to eq('N03AX14')
@@ -445,8 +454,12 @@ end
445
454
  describe Oddb2xml::Builder do
446
455
  NrExtendedArticles = 90
447
456
  NrSubstances = 14
457
+ NrLimitations = 5
458
+ NrInteractions = 5
459
+ NrCodes = 6
448
460
  NrProdno = 23
449
461
  NrPackages = 24
462
+ NrProducts = 19
450
463
  RegExpDesitin = /1125819012LEVETIRACETAM DESITIN Mini Filmtab 250 mg 30 Stk/
451
464
  include ServerMockHelper
452
465
  def common_run_init
@@ -474,6 +487,10 @@ describe Oddb2xml::Builder do
474
487
  expect(File.exists?(oddb_article_xml)).to eq true
475
488
  end
476
489
 
490
+ it 'should have a correct NBR_RECORD in oddb_article.xml' do
491
+ check_result(@rexml, NrProducts)
492
+ end
493
+
477
494
  it 'oddb_article.xml should contain a SHA256' do
478
495
  expect(XPath.match(@rexml, "//ART" ).first.attributes['SHA256'].size).to eq 64
479
496
  expect(XPath.match(@rexml, "//ART" ).size).to eq XPath.match(@rexml, "//ART" ).size
@@ -547,6 +564,16 @@ describe Oddb2xml::Builder do
547
564
  Oddb2xml::Cli.new(options.opts).run
548
565
  end
549
566
 
567
+ it 'should have a correct NBR_RECORD in oddb_fi_product.xml' do
568
+ rexml = REXML::Document.new File.read('oddb_fi_product.xml')
569
+ check_result(rexml, 0)
570
+ end
571
+
572
+ it 'should have a correct NBR_RECORD in oddb_fi.xml' do
573
+ rexml = REXML::Document.new File.read('oddb_fi.xml')
574
+ check_result(rexml, 2)
575
+ end
576
+
550
577
  it 'should return produce a correct oddb_fi.xml' do
551
578
  expect(File.exists?(@oddb_fi_xml)).to eq true
552
579
  inhalt = IO.read(@oddb_fi_xml)
@@ -568,8 +595,9 @@ if RUN_ALL
568
595
 
569
596
  it 'should generate a valid oddb_product.xml' do
570
597
  expect(@res).to match(/products/) if @res
571
- checkProductXml
598
+ checkProductXml(NrProducts)
572
599
  end
600
+
573
601
  end
574
602
 
575
603
  context 'when -f dat is given' do
@@ -646,7 +674,7 @@ if RUN_ALL
646
674
 
647
675
  it 'should generate a valid oddb_product.xml' do
648
676
  expect(@res).to match(/products/) if @res != nil
649
- checkProductXml
677
+ checkProductXml(NrProducts)
650
678
  end
651
679
 
652
680
  it 'should contain the correct (increased) prices' do
@@ -679,22 +707,37 @@ if RUN_ALL
679
707
  check_elements(oddb_code_xml, CODE_ELEMENT_TESTS)
680
708
  end
681
709
 
710
+ it 'should have a correct NBR_RECORD in oddb_code.xml' do
711
+ rexml = REXML::Document.new File.read(oddb_code_xml)
712
+ check_result(rexml, NrCodes)
713
+ end
714
+
682
715
  context 'XSD interaction' do
683
716
  check_attributes(oddb_interaction_xml, INTERACTION_ATTRIBUTE_TESTS)
684
717
  check_elements(oddb_interaction_xml, INTERACTION_ELEMENT_TESTS)
685
718
  end
686
719
 
720
+ it 'should have a correct NBR_RECORD in oddb_interaction.xml' do
721
+ rexml = REXML::Document.new File.read(oddb_interaction_xml)
722
+ check_result(rexml, NrInteractions)
723
+ end
724
+
687
725
  context 'XSD substance' do
688
726
  check_attributes(oddb_substance_xml, SUBSTANCE_ATTRIBUTE_TESTS)
689
727
  check_elements(oddb_substance_xml, SUBSTANCE_ELEMENT_TESTS)
690
728
  end
691
729
 
730
+ it 'should have a correct NBR_RECORD in oddb_substance.xml' do
731
+ rexml = REXML::Document.new File.read('oddb_substance.xml')
732
+ check_result(rexml, NrSubstances)
733
+ end
734
+
692
735
  it 'should emit a correct oddb_article.xml' do
693
736
  checkArticleXml
694
737
  end
695
738
 
696
739
  it 'should produce a correct oddb_product.xml' do
697
- checkProductXml
740
+ checkProductXml(NrProducts)
698
741
  end
699
742
 
700
743
  it 'should report correct output on stdout' do
@@ -761,13 +804,18 @@ if RUN_ALL
761
804
  expect(XPath.match( doc, "//PHAR" ).find_all{|x| x.text.match('0000000') }.size).to eq(1) # from refdata_pharma.xml
762
805
  end
763
806
 
807
+ it 'should have a correct NBR_RECORD in oddb_limitation.xml' do
808
+ rexml = REXML::Document.new File.read('oddb_limitation.xml')
809
+ check_result(rexml, NrLimitations)
810
+ end
811
+
764
812
  it 'should emit a correct oddb_limitation.xml' do
765
813
  # check limitations
766
814
  limitation_filename = File.expand_path(File.join(Oddb2xml::WorkDir, 'oddb_limitation.xml'))
767
815
  expect(File.exists?(limitation_filename)).to eq true
768
816
  doc = REXML::Document.new File.new(limitation_filename)
769
817
  limitations = XPath.match( doc, "//LIM" )
770
- expect(limitations.size).to be >= 4
818
+ expect(limitations.size).to eql NrLimitations
771
819
  expect(XPath.match( doc, "//SwissmedicNo5" ).find_all{|x| x.text.match('28486') }.size).to eq(1)
772
820
  expect(XPath.match( doc, "//LIMNAMEBAG" ).find_all{|x| x.text.match('ZYVOXID') }.size).to eq(1)
773
821
  expect(XPath.match( doc, "//LIMNAMEBAG" ).find_all{|x| x.text.match('070240') }.size).to eq(1)
@@ -823,13 +871,13 @@ if RUN_ALL
823
871
  it 'should add 80 percent to zur_rose pubbprice' do
824
872
  expect(File.exists?(oddb_article_xml)).to eq true
825
873
  FileUtils.cp(oddb_article_xml, File.join(Oddb2xml::WorkDir, 'tst-e80.xml'))
826
- checkProductXml
874
+ checkProductXml(NrProducts)
827
875
  checkArticleXml
828
876
  checkPrices(true)
829
877
  end
830
878
 
831
879
  it 'should generate a correct oddb_product.xml' do
832
- checkProductXml
880
+ checkProductXml(NrProducts)
833
881
  end
834
882
 
835
883
  it 'should generate an article with the COOL (fridge) attribute' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oddb2xml
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.9
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yasuhiro Asaka, Zeno R.R. Davatz, Niklaus Giger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-01 00:00:00.000000000 Z
11
+ date: 2015-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip