mini_mime 1.0.0 → 1.0.1

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
- SHA1:
3
- metadata.gz: 1c238e65033926742f0ad2751cd2106c19f48f19
4
- data.tar.gz: d69958fac815065e1ab7b04cb0655cfff3cc1717
2
+ SHA256:
3
+ metadata.gz: 6418281c1f9518b9e7afc48f4243db64e69b2b7102f7b5b75ef6222cc71597a7
4
+ data.tar.gz: 98a2802a299bea38149948706d8375211be7de314af5afcbf6fd07d50c185c06
5
5
  SHA512:
6
- metadata.gz: bb948e32ecd98cd1b70e9068ffc7ea27229aeb0984709337860d3426d744de1f49e25212808dcf544f3bbc220fda343824510962ee275411ea806a4a09970aa7
7
- data.tar.gz: 72b09f01e387dbc3d60fc25a4950c9294aa49c00a09e8c5ec557b75a049a4372b4ad8b6ac1715821704f81488ce001da61b90883f967ff36769123a44c73ec51
6
+ metadata.gz: ced08523dacb58cd959d3ad4f54b331e6b7332682166477e9a32e5dbd8583071e27c10d6b2c570db29d2d736579c13404d85589466d330de41862faf7c630c63
7
+ data.tar.gz: eca14d12f6b9a1408f8754fc59fc10faa0440b34ed0e7ade60d3114ec2ab933dab453fbfa1ae1ac63b765538710d31a224b1d195637c631c1725542f320083dc
data/CHANGELOG CHANGED
@@ -1,3 +1,8 @@
1
+ 14-08-2018
2
+ - Version 1.0.1
3
+ - Update mime types from upstream
4
+ - Add lookup_by_extension to the public API
5
+
1
6
  08-11-2017
2
7
  - Version 1.0.0
3
8
  - Other than the version number, no difference from 0.1.4
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 TODO: Write your name
3
+ Copyright (c) 2016 Discourse Construction Kit, Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -49,22 +49,22 @@ Total retained: 7784 bytes (62 objects)
49
49
  Warming up --------------------------------------
50
50
  cached content_type lookup MiniMime
51
51
  52.136k i/100ms
52
- content_type lookup Mime::Types
52
+ content_type lookup MIME::Types
53
53
  32.701k i/100ms
54
54
  Calculating -------------------------------------
55
55
  cached content_type lookup MiniMime
56
56
  641.305k (± 3.2%) i/s - 3.232M in 5.045630s
57
- content_type lookup Mime::Types
57
+ content_type lookup MIME::Types
58
58
  361.041k (± 1.5%) i/s - 1.831M in 5.073290s
59
59
  Warming up --------------------------------------
60
60
  uncached content_type lookup MiniMime
61
61
  3.333k i/100ms
62
- content_type lookup Mime::Types
62
+ content_type lookup MIME::Types
63
63
  33.177k i/100ms
64
64
  Calculating -------------------------------------
65
65
  uncached content_type lookup MiniMime
66
66
  33.660k (± 1.7%) i/s - 169.983k in 5.051415s
67
- content_type lookup Mime::Types
67
+ content_type lookup MIME::Types
68
68
  364.931k (± 2.8%) i/s - 1.825M in 5.004112s
69
69
  ```
70
70
 
@@ -93,4 +93,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/discou
93
93
  ## License
94
94
 
95
95
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
96
-
@@ -28,7 +28,7 @@ Benchmark.ips do |bm|
28
28
  MiniMime.lookup_by_filename("a.txt").content_type
29
29
  end
30
30
 
31
- bm.report 'content_type lookup Mime::Types' do
31
+ bm.report 'content_type lookup MIME::Types' do
32
32
  MIME::Types.type_for("a.txt")[0].content_type
33
33
  end
34
34
  end
@@ -46,7 +46,7 @@ Benchmark.ips do |bm|
46
46
  MiniMime.lookup_by_filename("a.txt").content_type
47
47
  end
48
48
 
49
- bm.report 'content_type lookup Mime::Types' do
49
+ bm.report 'content_type lookup MIME::Types' do
50
50
  MIME::Types.type_for("a.txt")[0].content_type
51
51
  end
52
52
  end
@@ -19,9 +19,7 @@ ecma application/ecmascript
19
19
  emma application/emma+xml base64
20
20
  epub application/epub+zip base64
21
21
  exi application/exi base64
22
- otf application/font-sfnt base64
23
22
  pfr application/font-tdpfr base64
24
- woff application/font-woff base64
25
23
  gml application/gml+xml base64
26
24
  gpx application/gpx+xml base64
27
25
  gxf application/gxf base64
@@ -31,7 +29,6 @@ ink application/inkml+xml
31
29
  ipfix application/ipfix base64
32
30
  jar application/java-archive base64
33
31
  ser application/java-serialized-object base64
34
- class application/java-vm base64
35
32
  js application/javascript 8bit
36
33
  json application/json 8bit
37
34
  jsonml application/jsonml+json base64
@@ -75,7 +72,6 @@ pkipath application/pkix-pkipath
75
72
  pki application/pkixcmp base64
76
73
  pls application/pls+xml base64
77
74
  ai application/postscript 8bit
78
- ppt application/powerpoint base64
79
75
  cw application/prs.cww base64
80
76
  rnd application/prs.nprend base64
81
77
  pskcxml application/pskc+xml base64
@@ -325,6 +321,7 @@ thmx application/vnd.ms-officetheme
325
321
  msg application/vnd.ms-outlook base64
326
322
  cat application/vnd.ms-pki.seccat base64
327
323
  stl application/vnd.ms-pki.stl base64
324
+ ppt application/vnd.ms-powerpoint base64
328
325
  ppam application/vnd.ms-powerpoint.addin.macroEnabled.12 base64
329
326
  pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12 base64
330
327
  sldm application/vnd.ms-powerpoint.slide.macroEnabled.12 base64
@@ -492,8 +489,7 @@ zaz application/vnd.zzazz.deck+xml
492
489
  vxml application/voicexml+xml base64
493
490
  wif application/watcherinfo+xml base64
494
491
  wgt application/widget base64
495
- hlp application/winhlp base64
496
- wp application/wordperfect5.1 base64
492
+ wp5 application/wordperfect5.1 base64
497
493
  wsdl application/wsdl+xml base64
498
494
  wspolicy application/wspolicy+xml base64
499
495
  wk application/x-123 base64
@@ -538,7 +534,6 @@ gsf application/x-font-ghostscript
538
534
  psf application/x-font-linux-psf base64
539
535
  pcf application/x-font-pcf base64
540
536
  snf application/x-font-snf base64
541
- ttc application/x-font-ttf base64
542
537
  afm application/x-font-type1 base64
543
538
  arc application/x-freearc base64
544
539
  spl application/x-futuresplash base64
@@ -569,7 +564,7 @@ lnk application/x-ms-shortcut
569
564
  wmd application/x-ms-wmd base64
570
565
  wmz application/x-ms-wmz base64
571
566
  xbap application/x-ms-xbap base64
572
- mdf application/x-msaccess base64
567
+ mda application/x-msaccess base64
573
568
  obd application/x-msbinder base64
574
569
  crd application/x-mscardfile base64
575
570
  clp application/x-msclip base64
@@ -615,9 +610,6 @@ tfm application/x-tex-tfm
615
610
  texinfo application/x-texinfo 8bit
616
611
  obj application/x-tgif base64
617
612
  tbk application/x-toolbook base64
618
- man application/x-troff-man 8bit
619
- me application/x-troff-me base64
620
- ms application/x-troff-ms base64
621
613
  ustar application/x-ustar base64
622
614
  src application/x-wais-source base64
623
615
  webapp application/x-web-app-manifest+json base64
@@ -690,6 +682,11 @@ cif chemical/x-cif
690
682
  cmdf chemical/x-cmdf base64
691
683
  cml chemical/x-cml base64
692
684
  csml chemical/x-csml base64
685
+ ttc font/collection base64
686
+ otf font/otf base64
687
+ ttf font/ttf base64
688
+ woff font/woff base64
689
+ woff2 font/woff2 base64
693
690
  cgm image/cgm base64
694
691
  g3 image/g3fax base64
695
692
  gif image/gif base64
@@ -765,6 +762,7 @@ ics text/calendar
765
762
  css text/css 8bit
766
763
  csv text/csv 8bit
767
764
  html text/html 8bit
765
+ markdown text/markdown quoted-printable
768
766
  n3 text/n3 quoted-printable
769
767
  txt text/plain quoted-printable
770
768
  dsc text/prs.lines.tag quoted-printable
@@ -804,6 +802,7 @@ uu text/x-uuencode
804
802
  vcs text/x-vcalendar 8bit
805
803
  vcf text/x-vcard 8bit
806
804
  yaml text/x-yaml 8bit
805
+ xml text/xml 8bit
807
806
  3gp video/3gpp base64
808
807
  3g2 video/3gpp2 base64
809
808
  dv video/DV base64
@@ -120,13 +120,14 @@ cif chemical/x-cif
120
120
  cii application/vnd.anser-web-certificate-issue-initiation base64
121
121
  cil application/vnd.ms-artgalry base64
122
122
  cla application/vnd.claymore base64
123
- class application/java-vm base64
123
+ class application/octet-stream base64
124
124
  clkk application/vnd.crick.clicker.keyboard base64
125
125
  clkp application/vnd.crick.clicker.palette base64
126
126
  clkt application/vnd.crick.clicker.template base64
127
127
  clkw application/vnd.crick.clicker.wordbank base64
128
128
  clkx application/vnd.crick.clicker base64
129
129
  clp application/x-msclip base64
130
+ clpi video/MP2T base64
130
131
  cmc application/vnd.cosmocaller base64
131
132
  cmd application/x-msdos-program base64
132
133
  cmdf chemical/x-cmdf base64
@@ -137,6 +138,7 @@ cod application/vnd.rim.cod
137
138
  coffee text/x-coffescript 8bit
138
139
  com application/x-msdos-program base64
139
140
  conf text/plain quoted-printable
141
+ cpi video/MP2T base64
140
142
  cpio application/x-cpio base64
141
143
  cpp text/plain quoted-printable
142
144
  cpt application/x-mac-compactpro base64
@@ -339,7 +341,7 @@ hbci application/vnd.hbci
339
341
  hdf application/x-hdf base64
340
342
  hep application/x-hep base64
341
343
  hh text/plain quoted-printable
342
- hlp application/winhlp base64
344
+ hlp text/plain quoted-printable
343
345
  hpgl application/vnd.hp-HPGL base64
344
346
  hpid application/vnd.hp-hpid base64
345
347
  hpp text/plain quoted-printable
@@ -380,6 +382,7 @@ ink application/inkml+xml
380
382
  inkml application/inkml+xml base64
381
383
  install application/x-install-instructions base64
382
384
  iota application/vnd.astraea-software.iota base64
385
+ ipa application/octet-stream base64
383
386
  ipfix application/ipfix base64
384
387
  ipk application/vnd.shana.informed.package base64
385
388
  irm application/vnd.ibm.rights-management base64
@@ -407,7 +410,7 @@ jpgm image/jpm
407
410
  jpgv video/JPEG base64
408
411
  jpm image/jpm base64
409
412
  jpx image/jpx base64
410
- js application/javascript 8bit
413
+ js application/ecmascript base64
411
414
  json application/json 8bit
412
415
  jsonml application/jsonml+json base64
413
416
  kar audio/midi base64
@@ -457,6 +460,7 @@ m14 application/x-msmediaview
457
460
  m1v video/mpeg base64
458
461
  m21 application/mp21 base64
459
462
  m2a audio/mpeg base64
463
+ m2ts video/MP2T base64
460
464
  m2v video/mpeg base64
461
465
  m3a audio/mpeg base64
462
466
  m3u audio/x-mpegurl base64
@@ -468,10 +472,10 @@ ma application/mathematica
468
472
  mads application/mads+xml base64
469
473
  mag application/vnd.ecowin.chart base64
470
474
  maker application/vnd.framemaker base64
471
- man application/x-troff-man 8bit
475
+ man text/troff 8bit
472
476
  manifest text/cache-manifest quoted-printable
473
477
  mar application/octet-stream base64
474
- markdown text/plain quoted-printable
478
+ markdown text/markdown quoted-printable
475
479
  mathml application/mathml+xml base64
476
480
  mb application/mathematica base64
477
481
  mbk application/vnd.Mobius.MBK base64
@@ -479,13 +483,13 @@ mbox application/mbox
479
483
  mc1 application/vnd.medcalcdata base64
480
484
  mcd application/vnd.mcd base64
481
485
  mcurl text/vnd.curl.mcurl quoted-printable
482
- md text/plain quoted-printable
486
+ md text/markdown quoted-printable
483
487
  mda application/x-msaccess base64
484
488
  mdb application/x-msaccess base64
485
489
  mde application/x-msaccess base64
486
490
  mdf application/x-msaccess base64
487
491
  mdi image/vnd.ms-modi base64
488
- me application/x-troff-me base64
492
+ me text/troff 8bit
489
493
  mesh model/mesh base64
490
494
  meta4 application/metalink4+xml base64
491
495
  metalink application/metalink+xml base64
@@ -503,8 +507,10 @@ mj2 video/MJ2
503
507
  mjp2 video/MJ2 base64
504
508
  mjpeg video/x-motion-jpeg base64
505
509
  mjpg video/x-motion-jpeg base64
510
+ mjs application/ecmascript base64
506
511
  mk3d video/x-matroska base64
507
512
  mka audio/x-matroska base64
513
+ mkd text/markdown quoted-printable
508
514
  mks video/x-matroska base64
509
515
  mkv video/x-matroska base64
510
516
  mlp application/vnd.dolby.mlp base64
@@ -533,6 +539,8 @@ mpg video/mpeg
533
539
  mpg4 application/mp4 base64
534
540
  mpga audio/mpeg base64
535
541
  mpkg application/vnd.apple.installer+xml base64
542
+ mpl video/MP2T base64
543
+ mpls video/MP2T base64
536
544
  mpm application/vnd.blueice.multipass base64
537
545
  mpn application/vnd.mophun.application base64
538
546
  mpp application/vnd.ms-project base64
@@ -541,7 +549,7 @@ mpy application/vnd.ibm.MiniPay
541
549
  mqy application/vnd.Mobius.MQY base64
542
550
  mrc application/marc base64
543
551
  mrcx application/marcxml+xml base64
544
- ms application/x-troff-ms base64
552
+ ms text/troff 8bit
545
553
  mscml application/mediaservercontrol+xml base64
546
554
  mseed application/vnd.fdsn.mseed base64
547
555
  mseq application/vnd.mseq base64
@@ -616,7 +624,7 @@ org application/vnd.lotus-organizer
616
624
  osf application/vnd.yamaha.openscoreformat base64
617
625
  osfpvg application/vnd.yamaha.openscoreformat.osfpvg+xml base64
618
626
  otc application/vnd.oasis.opendocument.chart-template base64
619
- otf application/font-sfnt base64
627
+ otf font/otf base64
620
628
  otg application/vnd.oasis.opendocument.graphics-template base64
621
629
  oth application/vnd.oasis.opendocument.text-web base64
622
630
  oti application/vnd.oasis.opendocument.image-template base64
@@ -680,16 +688,16 @@ pml application/vnd.ctc-posml
680
688
  png image/png base64
681
689
  pnm image/x-portable-anymap base64
682
690
  portpkg application/vnd.macports.portpkg base64
683
- pot application/powerpoint base64
691
+ pot application/vnd.ms-powerpoint base64
684
692
  potm application/vnd.ms-powerpoint.template.macroEnabled.12 base64
685
693
  potx application/vnd.openxmlformats-officedocument.presentationml.template base64
686
694
  ppam application/vnd.ms-powerpoint.addin.macroEnabled.12 base64
687
695
  ppd application/vnd.cups-ppd base64
688
696
  ppm image/x-portable-pixmap base64
689
- pps application/powerpoint base64
697
+ pps application/vnd.ms-powerpoint base64
690
698
  ppsm application/vnd.ms-powerpoint.slideshow.macroEnabled.12 base64
691
699
  ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow base64
692
- ppt application/powerpoint base64
700
+ ppt application/vnd.ms-powerpoint base64
693
701
  pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12 base64
694
702
  pptx application/vnd.openxmlformats-officedocument.presentationml.presentation base64
695
703
  pqa application/vnd.palm base64
@@ -951,8 +959,8 @@ troff text/troff
951
959
  ts video/MP2T base64
952
960
  tsd application/timestamped-data base64
953
961
  tsv text/tab-separated-values quoted-printable
954
- ttc application/x-font-ttf base64
955
- ttf application/font-sfnt base64
962
+ ttc font/collection base64
963
+ ttf font/ttf base64
956
964
  ttl text/turtle quoted-printable
957
965
  twd application/vnd.SimTech-MindMapper base64
958
966
  twds application/vnd.SimTech-MindMapper base64
@@ -1056,8 +1064,8 @@ wmlsc application/vnd.wap.wmlscriptc
1056
1064
  wmv audio/x-ms-wmv base64
1057
1065
  wmx video/x-ms-wmx base64
1058
1066
  wmz application/x-ms-wmz base64
1059
- woff application/font-woff base64
1060
- woff2 application/font-woff base64
1067
+ woff font/woff base64
1068
+ woff2 font/woff2 base64
1061
1069
  wp application/wordperfect5.1 base64
1062
1070
  wp5 application/wordperfect5.1 base64
1063
1071
  wp6 application/x-wordperfect6.1 base64
@@ -1131,6 +1139,7 @@ xpr application/vnd.is-xpr
1131
1139
  xps application/vnd.ms-xpsdocument 8bit
1132
1140
  xpw application/vnd.intercon.formnet base64
1133
1141
  xpx application/vnd.intercon.formnet base64
1142
+ xsd text/xml 8bit
1134
1143
  xsl application/xml 8bit
1135
1144
  xslt application/xslt+xml base64
1136
1145
  xsm application/vnd.syncml+xml base64
@@ -6,6 +6,10 @@ module MiniMime
6
6
  Db.lookup_by_filename(filename)
7
7
  end
8
8
 
9
+ def self.lookup_by_extension(extension)
10
+ Db.lookup_by_extension(extension)
11
+ end
12
+
9
13
  def self.lookup_by_content_type(mime)
10
14
  Db.lookup_by_content_type(mime)
11
15
  end
@@ -39,17 +43,16 @@ module MiniMime
39
43
 
40
44
  def self.lookup_by_filename(filename)
41
45
  extension = File.extname(filename)
42
- if extension
43
- extension.sub!(".", "")
44
- extension.downcase!
45
- if extension.length > 0
46
- LOCK.synchronize do
47
- @db ||= new
48
- @db.lookup_by_extension(extension)
49
- end
50
- else
51
- nil
52
- end
46
+ return if extension.empty?
47
+ extension = extension[1..-1]
48
+ extension.downcase!
49
+ lookup_by_extension(extension)
50
+ end
51
+
52
+ def self.lookup_by_extension(extension)
53
+ LOCK.synchronize do
54
+ @db ||= new
55
+ @db.lookup_by_extension(extension)
53
56
  end
54
57
  end
55
58
 
@@ -1,3 +1,3 @@
1
1
  module MiniMime
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_mime
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-11-08 00:00:00.000000000 Z
11
+ date: 2018-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -95,7 +95,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
95
  version: '0'
96
96
  requirements: []
97
97
  rubyforge_project:
98
- rubygems_version: 2.6.13
98
+ rubygems_version: 2.7.6
99
99
  signing_key:
100
100
  specification_version: 4
101
101
  summary: A lightweight mime type lookup toy