mini_mime 0.1.4 → 1.1.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
- SHA1:
3
- metadata.gz: a948e97ee94cb1cb607b585ace922fca6c456d72
4
- data.tar.gz: 40f15c3040648c1cccf7ab8720348c29a854a354
2
+ SHA256:
3
+ metadata.gz: 5964a78cdb6202afa80b9788475645b553cca8c21d5251688575d6f6aa4c93b1
4
+ data.tar.gz: 8db41b34cca4eaf5bc9bcef1819b856407634e8fc7e7010f3b92217f2917d05e
5
5
  SHA512:
6
- metadata.gz: fb5c97af815c33e449e277d5ae9af58fb5c55af4bc38e60bfd30812f13c6ca31a8e618e81b87dcda3872a7994d94055aeffdfa170f69b6306f890050d17d5647
7
- data.tar.gz: a542eb290b5659e3a8e11ff67679667c168406f156e11c8637f17a5c38104ee3a1119e0f9f6d16cbd2d540bd7a6e3037affd3a1c84af6b655f67a169ccc42fea
6
+ metadata.gz: 99e35154670350af4094cf018cb7d4e51aa5a4611da19c160f47bc34e5f05c168e5c6666ccace0a6471998756cad018ad556c369f309391b4037a1923a6bd7b9
7
+ data.tar.gz: 5dab4d56f34faba6944d7837a0ca7689d7996cd93e01740739234b5543c3eedb076243b35ae0a33b8948dde24f185b9a7beae372e673add0af0cf780890410d0
@@ -0,0 +1,40 @@
1
+ name: Mini Mime Tests
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - master
8
+
9
+ jobs:
10
+ build:
11
+ runs-on: ubuntu-latest
12
+ name: "Ruby ${{ matrix.ruby }} / Failure allowed: ${{ matrix.experimental }}"
13
+ continue-on-error: ${{ matrix.experimental }}
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ ruby: ["2.4", "2.5", "2.6", "2.7"]
18
+ experimental: [false]
19
+ include:
20
+ - ruby: "ruby-head"
21
+ experimental: true
22
+ - ruby: "truffleruby-head"
23
+ experimental: true
24
+ - ruby: "jruby-head"
25
+ experimental: true
26
+ - ruby: "jruby-9.1.17.0"
27
+ experimental: true
28
+ - ruby: "jruby-9.2.13.0"
29
+ experimental: true
30
+ steps:
31
+ - uses: actions/checkout@v2
32
+ - uses: ruby/setup-ruby@v1
33
+ with:
34
+ ruby-version: ${{ matrix.ruby }}
35
+ bundler-cache: true
36
+ - name: Rubocop
37
+ run: bundle exec rubocop
38
+ if: "!contains(matrix.ruby, 'jruby')"
39
+ - name: Tests
40
+ run: bundle exec rake test
@@ -0,0 +1,26 @@
1
+ name: Update MIME type DB
2
+
3
+ on:
4
+ schedule:
5
+ # 10am on the 1st every month https://crontab.guru/#0_10_1_*_*
6
+ - cron: "0 10 1 * *"
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ update_db:
11
+ runs-on: ubuntu-latest
12
+ name: "Update MIME type DB"
13
+ steps:
14
+ - uses: actions/checkout@v2
15
+ - uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: "2.7"
18
+ bundler-cache: true
19
+ - name: Update mime-types-data
20
+ run: bundle update mime-types-data
21
+ - name: Update DB
22
+ run: bundle exec rake rebuild_db
23
+ - name: Create PR
24
+ run: bin/db_pull_request
25
+ env:
26
+ GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
data/.rubocop.yml ADDED
@@ -0,0 +1,5 @@
1
+ inherit_gem:
2
+ rubocop-discourse: default.yml
3
+ inherit_mode:
4
+ merge:
5
+ - Exclude
data/CHANGELOG CHANGED
@@ -1,3 +1,24 @@
1
+ 05-04-2021
2
+ - Version 1.1.0
3
+ - MiniMime.lookup_by_extension is now case insensitive
4
+
5
+ 26-03-2021
6
+ - Version 1.0.3
7
+ - Update mime types from upstream
8
+
9
+ 08-07-2019
10
+ - Version 1.0.2
11
+ - Update mime types from upstream
12
+
13
+ 14-08-2018
14
+ - Version 1.0.1
15
+ - Update mime types from upstream
16
+ - Add lookup_by_extension to the public API
17
+
18
+ 08-11-2017
19
+ - Version 1.0.0
20
+ - Other than the version number, no difference from 0.1.4
21
+
1
22
  11-08-2017
2
23
  - Version 0.1.4
3
24
  - Return preferred extension when looking up by content type
data/Gemfile CHANGED
@@ -1,6 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  source 'https://rubygems.org'
2
3
 
3
4
  # Specify your gem's dependencies in mini_mime.gemspec
4
5
  gemspec
5
6
 
6
7
  gem "mime-types", "~> 3" if RUBY_VERSION > '2'
8
+ gem "memory_profiler"
9
+ gem "benchmark-ips"
data/LICENSE.txt CHANGED
@@ -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
@@ -26,6 +26,9 @@ require 'mini_mime'
26
26
  MiniMime.lookup_by_filename("a.txt").content_type
27
27
  # => "text/plain"
28
28
 
29
+ MiniMime.lookup_by_extension("txt").content_type
30
+ # => "text/plain"
31
+
29
32
  MiniMime.lookup_by_content_type("text/plain").extension
30
33
  # => "txt"
31
34
 
@@ -34,46 +37,63 @@ MiniMime.lookup_by_content_type("text/plain").binary?
34
37
 
35
38
  ```
36
39
 
40
+ ## Configuration
41
+
42
+ If you'd like to add your own mime types, try using custom database files:
43
+
44
+ ```
45
+ MiniMime::Configuration.ext_db_path = "path_to_file_extension_db"
46
+ MiniMime::Configuration.content_type_db_path = "path_to_content_type_db"
47
+ ```
48
+
49
+ Check out the [default databases](lib/db) for proper formatting and structure hints.
50
+
37
51
  ## Performance
38
52
 
39
- MiniMime is optimised to minimize memory usage. It keeps a cache of 100 mime type lookups (and 100 misses). There are benchmarks in the [bench directory](https://github.com/discourse/mini_mime/bench/bench.rb)
53
+ MiniMime is optimised to minimize memory usage. It keeps a cache of 100 mime type lookups (and 100 misses). There are benchmarks in the [bench directory](https://github.com/discourse/mini_mime/blob/master/bench/bench.rb)
40
54
 
41
55
  ```
42
56
  Memory stats for requiring mime/types/columnar
43
- Total allocated: 9869358 bytes (109796 objects)
44
- Total retained: 3138198 bytes (31165 objects)
57
+ Total allocated: 8712144 bytes (98242 objects)
58
+ Total retained: 3372545 bytes (33599 objects)
45
59
 
46
60
  Memory stats for requiring mini_mime
47
- Total allocated: 58898 bytes (398 objects)
48
- Total retained: 7784 bytes (62 objects)
61
+ Total allocated: 42625 bytes (369 objects)
62
+ Total retained: 8992 bytes (72 objects)
49
63
  Warming up --------------------------------------
50
64
  cached content_type lookup MiniMime
51
- 52.136k i/100ms
52
- content_type lookup Mime::Types
53
- 32.701k i/100ms
65
+ 85.109k i/100ms
66
+ content_type lookup MIME::Types
67
+ 17.879k i/100ms
54
68
  Calculating -------------------------------------
55
69
  cached content_type lookup MiniMime
56
- 641.305k3.2%) i/s - 3.232M in 5.045630s
57
- content_type lookup Mime::Types
58
- 361.041k (± 1.5%) i/s - 1.831M in 5.073290s
70
+ 1.105M4.1%) i/s - 5.532M in 5.014895s
71
+ content_type lookup MIME::Types
72
+ 193.528k7.1%) i/s - 965.466k in 5.013925s
59
73
  Warming up --------------------------------------
60
74
  uncached content_type lookup MiniMime
61
- 3.333k i/100ms
62
- content_type lookup Mime::Types
63
- 33.177k i/100ms
75
+ 1.410k i/100ms
76
+ content_type lookup MIME::Types
77
+ 18.012k i/100ms
64
78
  Calculating -------------------------------------
65
79
  uncached content_type lookup MiniMime
66
- 33.660k1.7%) i/s - 169.983k in 5.051415s
67
- content_type lookup Mime::Types
68
- 364.931k2.8%) i/s - 1.825M in 5.004112s
80
+ 14.689k4.2%) i/s - 73.320k in 5.000779s
81
+ content_type lookup MIME::Types
82
+ 193.459k6.9%) i/s - 972.648k in 5.050731s
69
83
  ```
70
84
 
71
- As a general guideline, cached lookups are 2x faster than MIME::Types equivelent. Uncached lookups are 10x slower.
85
+ As a general guideline, cached lookups are 6x faster than MIME::Types equivalent. Uncached lookups are 10x slower.
86
+
87
+ Note: It was run on macOS 10.14.2, and versions of Ruby and gems are below.
72
88
 
89
+ - Ruby 2.6.0
90
+ - mini_mime (1.0.1)
91
+ - mime-types (3.2.2)
92
+ - mime-types-data (3.2018.0812)
73
93
 
74
94
  ## Development
75
95
 
76
- MiniMime uses the officially maintained list of mime types at [mime-types-data](https://github.com/mime-types/mime-types-data)repo to build the internal database.
96
+ MiniMime uses the officially maintained list of mime types at [mime-types-data](https://github.com/mime-types/mime-types-data) repo to build the internal database.
77
97
 
78
98
  To update the database run:
79
99
 
@@ -89,8 +109,6 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
89
109
 
90
110
  Bug reports and pull requests are welcome on GitHub at https://github.com/discourse/mini_mime. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
91
111
 
92
-
93
112
  ## License
94
113
 
95
114
  The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
96
-
data/Rakefile CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "bundler/gem_tasks"
2
3
  require "rake/testtask"
3
4
 
@@ -7,7 +8,7 @@ Rake::TestTask.new(:test) do |t|
7
8
  t.test_files = FileList['test/**/*_test.rb']
8
9
  end
9
10
 
10
- task :default => :test
11
+ task default: :test
11
12
 
12
13
  def pad(array)
13
14
  max = []
@@ -36,11 +37,11 @@ task :rebuild_db do
36
37
  index = {}
37
38
 
38
39
  MIME::Types.each do |type|
39
- type.extensions.each {|ext| (index[ext.downcase] ||= []) << type}
40
+ type.extensions.each { |ext| (index[ext.downcase] ||= []) << type }
40
41
  end
41
42
 
42
- index.each do |k,list|
43
- list.sort!{|a,b| a.priority_compare(b)}
43
+ index.each do |k, list|
44
+ list.sort! { |a, b| a.priority_compare(b) }
44
45
  end
45
46
 
46
47
  buffer = []
@@ -54,9 +55,9 @@ task :rebuild_db do
54
55
 
55
56
  pad(buffer)
56
57
 
57
- buffer.sort!{|a,b| a[0] <=> b[0]}
58
+ buffer.sort! { |a, b| a[0] <=> b[0] }
58
59
 
59
- File.open("lib/db/ext_mime.db", File::CREAT|File::TRUNC|File::RDWR) do |f|
60
+ File.open("lib/db/ext_mime.db", File::CREAT | File::TRUNC | File::RDWR) do |f|
60
61
  buffer.each do |row|
61
62
  f.write "#{row[0]} #{row[1]} #{row[2]}\n"
62
63
  end
@@ -64,7 +65,7 @@ task :rebuild_db do
64
65
 
65
66
  puts "#{buffer.count} rows written to lib/db/ext_mime.db"
66
67
 
67
- buffer.sort!{|a,b| [a[1], a[0]] <=> [b[1], b[0]]}
68
+ buffer.sort! { |a, b| [a[1], a[0]] <=> [b[1], b[0]] }
68
69
 
69
70
  # strip cause we are going to re-pad
70
71
  buffer.each do |row|
@@ -80,7 +81,7 @@ task :rebuild_db do
80
81
 
81
82
  pad(buffer)
82
83
 
83
- File.open("lib/db/content_type_mime.db", File::CREAT|File::TRUNC|File::RDWR) do |f|
84
+ File.open("lib/db/content_type_mime.db", File::CREAT | File::TRUNC | File::RDWR) do |f|
84
85
  last = nil
85
86
  count = 0
86
87
  buffer.each do |row|
data/bench/bench.rb CHANGED
@@ -1,9 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  require 'memory_profiler'
2
3
  require 'benchmark/ips'
3
4
 
4
5
  $: << File.expand_path('../../lib', __FILE__)
5
6
 
6
-
7
7
  puts
8
8
  puts "Memory stats for requiring mime/types/columnar"
9
9
  result = MemoryProfiler.report do
@@ -22,13 +22,12 @@ end
22
22
  puts "Total allocated: #{result.total_allocated_memsize} bytes (#{result.total_allocated} objects)"
23
23
  puts "Total retained: #{result.total_retained_memsize} bytes (#{result.total_retained} objects)"
24
24
 
25
-
26
25
  Benchmark.ips do |bm|
27
26
  bm.report 'cached content_type lookup MiniMime' do
28
27
  MiniMime.lookup_by_filename("a.txt").content_type
29
28
  end
30
29
 
31
- bm.report 'content_type lookup Mime::Types' do
30
+ bm.report 'content_type lookup MIME::Types' do
32
31
  MIME::Types.type_for("a.txt")[0].content_type
33
32
  end
34
33
  end
@@ -46,7 +45,7 @@ Benchmark.ips do |bm|
46
45
  MiniMime.lookup_by_filename("a.txt").content_type
47
46
  end
48
47
 
49
- bm.report 'content_type lookup Mime::Types' do
48
+ bm.report 'content_type lookup MIME::Types' do
50
49
  MIME::Types.type_for("a.txt")[0].content_type
51
50
  end
52
51
  end
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "bundler/setup"
4
5
  require "mini_mime"
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "time"
5
+
6
+ if `git status --porcelain lib/db`.empty?
7
+ puts "Skipping, no DB changes to commit..."
8
+ return
9
+ end
10
+
11
+ moment = Time.now.utc
12
+ branch_name = "db-updates-#{moment.strftime("%Y%m%d%H%M%S")}"
13
+
14
+ system("git", "checkout", "-b", branch_name) || abort("Unable to create branch")
15
+ system("git", "add", "lib/db")
16
+ system("git", "config", "--local", "user.email", "actions@github.com")
17
+ system("git", "config", "--local", "user.name", "github-actions")
18
+ system("git", "commit", "-m", "DB updates #{moment.iso8601}") || abort("Unable to commit changes")
19
+ system("git", "push", "-u", "origin", branch_name) || abort("Unable to push branch")
20
+ system("gh", "pr", "create", "--title", "DB updates #{moment.iso8601}", "--body", "From Github Actions") || abort("Unable to create PR")
@@ -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
@@ -74,8 +71,7 @@ crl application/pkix-crl
74
71
  pkipath application/pkix-pkipath base64
75
72
  pki application/pkixcmp base64
76
73
  pls application/pls+xml base64
77
- ai application/postscript 8bit
78
- ppt application/powerpoint base64
74
+ eps application/postscript 8bit
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
@@ -490,10 +487,10 @@ cmp application/vnd.yellowriver-custom-menu
490
487
  zir application/vnd.zul base64
491
488
  zaz application/vnd.zzazz.deck+xml base64
492
489
  vxml application/voicexml+xml base64
490
+ wasm application/wasm 8bit
493
491
  wif application/watcherinfo+xml base64
494
492
  wgt application/widget base64
495
- hlp application/winhlp base64
496
- wp application/wordperfect5.1 base64
493
+ wp5 application/wordperfect5.1 base64
497
494
  wsdl application/wsdl+xml base64
498
495
  wspolicy application/wspolicy+xml base64
499
496
  wk application/x-123 base64
@@ -538,7 +535,6 @@ gsf application/x-font-ghostscript
538
535
  psf application/x-font-linux-psf base64
539
536
  pcf application/x-font-pcf base64
540
537
  snf application/x-font-snf base64
541
- ttc application/x-font-ttf base64
542
538
  afm application/x-font-type1 base64
543
539
  arc application/x-freearc base64
544
540
  spl application/x-futuresplash base64
@@ -565,11 +561,12 @@ cpt application/x-mac-compactpro
565
561
  mie application/x-mie base64
566
562
  mobi application/x-mobipocket-ebook base64
567
563
  application application/x-ms-application base64
564
+ exe application/x-ms-dos-executable base64
568
565
  lnk application/x-ms-shortcut base64
569
566
  wmd application/x-ms-wmd base64
570
567
  wmz application/x-ms-wmz base64
571
568
  xbap application/x-ms-xbap base64
572
- mdf application/x-msaccess base64
569
+ mda application/x-msaccess base64
573
570
  obd application/x-msbinder base64
574
571
  crd application/x-mscardfile base64
575
572
  clp application/x-msclip base64
@@ -599,6 +596,7 @@ sh application/x-sh
599
596
  shar application/x-shar 8bit
600
597
  swf application/x-shockwave-flash base64
601
598
  xap application/x-silverlight-app base64
599
+ notebook application/x-smarttech-notebook base64
602
600
  sav application/x-spss base64
603
601
  sql application/x-sql base64
604
602
  sit application/x-stuffit base64
@@ -615,9 +613,6 @@ tfm application/x-tex-tfm
615
613
  texinfo application/x-texinfo 8bit
616
614
  obj application/x-tgif base64
617
615
  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
616
  ustar application/x-ustar base64
622
617
  src application/x-wais-source base64
623
618
  webapp application/x-web-app-manifest+json base64
@@ -671,6 +666,7 @@ ecelp9600 audio/vnd.nuera.ecelp9600
671
666
  qcp audio/vnd.qcelp base64
672
667
  rip audio/vnd.rip base64
673
668
  smp3 audio/vnd.sealedmedia.softseal.mpeg base64
669
+ wav audio/wav base64
674
670
  weba audio/webm base64
675
671
  aac audio/x-aac base64
676
672
  aif audio/x-aiff base64
@@ -683,16 +679,25 @@ wma audio/x-ms-wma
683
679
  wmv audio/x-ms-wmv base64
684
680
  ra audio/x-pn-realaudio base64
685
681
  rmp audio/x-pn-realaudio-plugin base64
686
- wav audio/x-wav base64
687
682
  xm audio/xm base64
688
683
  cdx chemical/x-cdx base64
689
684
  cif chemical/x-cif base64
690
685
  cmdf chemical/x-cmdf base64
691
686
  cml chemical/x-cml base64
692
687
  csml chemical/x-csml base64
688
+ ttc font/collection base64
689
+ otf font/otf base64
690
+ ttf font/ttf base64
691
+ woff font/woff base64
692
+ woff2 font/woff2 base64
693
+ avif image/avif base64
693
694
  cgm image/cgm base64
694
695
  g3 image/g3fax base64
695
696
  gif image/gif base64
697
+ heic image/heic base64
698
+ heics image/heic-sequence base64
699
+ heif image/heif base64
700
+ heifs image/heif-sequence base64
696
701
  ief image/ief base64
697
702
  jp2 image/jp2 base64
698
703
  jpeg image/jpeg base64
@@ -724,21 +729,37 @@ wbmp image/vnd.wap.wbmp
724
729
  xif image/vnd.xiff base64
725
730
  webp image/webp base64
726
731
  3ds image/x-3ds base64
732
+ dng image/x-adobe-dng base64
727
733
  bmp image/x-bmp base64
734
+ cr2 image/x-canon-cr2 base64
735
+ crw image/x-canon-crw base64
728
736
  ras image/x-cmu-raster base64
729
737
  cmx image/x-cmx base64
730
738
  xcfbz2 image/x-compressed-xcf base64
739
+ erf image/x-epson-erf base64
731
740
  fh image/x-freehand base64
741
+ raf image/x-fuji-raf base64
732
742
  3fr image/x-hasselblad-3fr base64
743
+ k25 image/x-kodak-k25 base64
744
+ kdc image/x-kodak-kdc base64
745
+ mrw image/x-minolta-mrw base64
733
746
  sid image/x-mrsid-image base64
747
+ nef image/x-nikon-nef base64
748
+ orf image/x-olympus-orf base64
734
749
  psp image/x-paintshoppro base64
750
+ raw image/x-panasonic-raw base64
735
751
  pcx image/x-pcx base64
752
+ pef image/x-pentax-pef base64
736
753
  pct image/x-pict base64
737
754
  pnm image/x-portable-anymap base64
738
755
  pbm image/x-portable-bitmap base64
739
756
  pgm image/x-portable-graymap base64
740
757
  ppm image/x-portable-pixmap base64
741
758
  rgb image/x-rgb base64
759
+ x3f image/x-sigma-x3f base64
760
+ arw image/x-sony-arw base64
761
+ sr2 image/x-sony-sr2 base64
762
+ srf image/x-sony-srf base64
742
763
  tga image/x-targa base64
743
764
  dgn image/x-vnd.dgn base64
744
765
  xbm image/x-xbitmap 7bit
@@ -765,6 +786,7 @@ ics text/calendar
765
786
  css text/css 8bit
766
787
  csv text/csv 8bit
767
788
  html text/html 8bit
789
+ markdown text/markdown quoted-printable
768
790
  n3 text/n3 quoted-printable
769
791
  txt text/plain quoted-printable
770
792
  dsc text/prs.lines.tag quoted-printable
@@ -804,6 +826,7 @@ uu text/x-uuencode
804
826
  vcs text/x-vcalendar 8bit
805
827
  vcf text/x-vcard 8bit
806
828
  yaml text/x-yaml 8bit
829
+ xml text/xml 8bit
807
830
  3gp video/3gpp base64
808
831
  3g2 video/3gpp2 base64
809
832
  dv video/DV base64
data/lib/db/ext_mime.db CHANGED
@@ -24,7 +24,7 @@ aep application/vnd.audiograph
24
24
  afm application/x-font-type1 base64
25
25
  afp application/vnd.ibm.modcap base64
26
26
  ahead application/vnd.ahead.space base64
27
- ai application/postscript 8bit
27
+ ai application/pdf base64
28
28
  aif audio/x-aiff base64
29
29
  aifc audio/x-aiff base64
30
30
  aiff audio/x-aiff base64
@@ -38,6 +38,7 @@ appcache text/cache-manifest
38
38
  application application/x-ms-application base64
39
39
  apr application/vnd.lotus-approach base64
40
40
  arc application/x-freearc base64
41
+ arw image/x-sony-arw base64
41
42
  asc application/pgp-signature base64
42
43
  asf application/vnd.ms-asf base64
43
44
  asm text/x-asm quoted-printable
@@ -50,6 +51,7 @@ atomsvc application/atomsvc+xml
50
51
  atx application/vnd.antix.game-component base64
51
52
  au audio/basic base64
52
53
  avi video/x-msvideo base64
54
+ avif image/avif base64
53
55
  aw application/applixware base64
54
56
  awb audio/AMR-WB base64
55
57
  azf application/vnd.airzip.filesecure.azf base64
@@ -120,13 +122,14 @@ cif chemical/x-cif
120
122
  cii application/vnd.anser-web-certificate-issue-initiation base64
121
123
  cil application/vnd.ms-artgalry base64
122
124
  cla application/vnd.claymore base64
123
- class application/java-vm base64
125
+ class application/octet-stream base64
124
126
  clkk application/vnd.crick.clicker.keyboard base64
125
127
  clkp application/vnd.crick.clicker.palette base64
126
128
  clkt application/vnd.crick.clicker.template base64
127
129
  clkw application/vnd.crick.clicker.wordbank base64
128
130
  clkx application/vnd.crick.clicker base64
129
131
  clp application/x-msclip base64
132
+ clpi video/MP2T base64
130
133
  cmc application/vnd.cosmocaller base64
131
134
  cmd application/x-msdos-program base64
132
135
  cmdf chemical/x-cmdf base64
@@ -137,12 +140,15 @@ cod application/vnd.rim.cod
137
140
  coffee text/x-coffescript 8bit
138
141
  com application/x-msdos-program base64
139
142
  conf text/plain quoted-printable
143
+ cpi video/MP2T base64
140
144
  cpio application/x-cpio base64
141
145
  cpp text/plain quoted-printable
142
146
  cpt application/x-mac-compactpro base64
147
+ cr2 image/x-canon-cr2 base64
143
148
  crd application/x-mscardfile base64
144
149
  crl application/pkix-crl base64
145
150
  crt application/x-x509-ca-cert base64
151
+ crw image/x-canon-crw base64
146
152
  crx application/x-chrome-extension base64
147
153
  cryptonote application/vnd.rig.cryptonote base64
148
154
  csh application/x-csh 8bit
@@ -190,6 +196,7 @@ dmg application/x-apple-diskimage
190
196
  dmp application/vnd.tcpdump.pcap base64
191
197
  dms application/octet-stream base64
192
198
  dna application/vnd.dna base64
199
+ dng image/x-adobe-dng base64
193
200
  doc application/msword base64
194
201
  docm application/vnd.ms-word.document.macroEnabled.12 base64
195
202
  docx application/vnd.openxmlformats-officedocument.wordprocessingml.document base64
@@ -235,6 +242,8 @@ eol audio/vnd.digital-winds
235
242
  eot application/vnd.ms-fontobject base64
236
243
  eps application/postscript 8bit
237
244
  epub application/epub+zip base64
245
+ erf image/x-epson-erf base64
246
+ es application/ecmascript base64
238
247
  es3 application/vnd.eszigno3+xml base64
239
248
  esa application/vnd.osgi.subsystem base64
240
249
  esf application/vnd.epson.esf base64
@@ -243,7 +252,7 @@ etx text/x-setext
243
252
  eva application/x-eva base64
244
253
  evc audio/EVRC base64
245
254
  evy application/x-envoy base64
246
- exe application/octet-stream base64
255
+ exe application/x-ms-dos-executable base64
247
256
  exi application/exi base64
248
257
  ext application/vnd.novadigm.EXT base64
249
258
  ez application/andrew-inset base64
@@ -337,9 +346,14 @@ hal application/vnd.hal+xml
337
346
  hbc application/vnd.hbci base64
338
347
  hbci application/vnd.hbci base64
339
348
  hdf application/x-hdf base64
349
+ heic image/heic base64
350
+ heics image/heic-sequence base64
351
+ heif image/heif base64
352
+ heifs image/heif-sequence base64
340
353
  hep application/x-hep base64
341
354
  hh text/plain quoted-printable
342
- hlp application/winhlp base64
355
+ hif image/heic base64
356
+ hlp text/plain quoted-printable
343
357
  hpgl application/vnd.hp-HPGL base64
344
358
  hpid application/vnd.hp-hpid base64
345
359
  hpp text/plain quoted-printable
@@ -380,6 +394,7 @@ ink application/inkml+xml
380
394
  inkml application/inkml+xml base64
381
395
  install application/x-install-instructions base64
382
396
  iota application/vnd.astraea-software.iota base64
397
+ ipa application/octet-stream base64
383
398
  ipfix application/ipfix base64
384
399
  ipk application/vnd.shana.informed.package base64
385
400
  irm application/vnd.ibm.rights-management base64
@@ -410,9 +425,11 @@ jpx image/jpx
410
425
  js application/javascript 8bit
411
426
  json application/json 8bit
412
427
  jsonml application/jsonml+json base64
428
+ k25 image/x-kodak-k25 base64
413
429
  kar audio/midi base64
414
430
  karbon application/vnd.kde.karbon base64
415
431
  kcm application/vnd.nervana base64
432
+ kdc image/x-kodak-kdc base64
416
433
  key application/x-iwork-keynote-sffkey base64
417
434
  kfo application/vnd.kde.kformula base64
418
435
  kia application/vnd.kidspiration base64
@@ -457,6 +474,7 @@ m14 application/x-msmediaview
457
474
  m1v video/mpeg base64
458
475
  m21 application/mp21 base64
459
476
  m2a audio/mpeg base64
477
+ m2ts video/MP2T base64
460
478
  m2v video/mpeg base64
461
479
  m3a audio/mpeg base64
462
480
  m3u audio/x-mpegurl base64
@@ -468,10 +486,10 @@ ma application/mathematica
468
486
  mads application/mads+xml base64
469
487
  mag application/vnd.ecowin.chart base64
470
488
  maker application/vnd.framemaker base64
471
- man application/x-troff-man 8bit
489
+ man text/troff 8bit
472
490
  manifest text/cache-manifest quoted-printable
473
491
  mar application/octet-stream base64
474
- markdown text/plain quoted-printable
492
+ markdown text/markdown quoted-printable
475
493
  mathml application/mathml+xml base64
476
494
  mb application/mathematica base64
477
495
  mbk application/vnd.Mobius.MBK base64
@@ -479,13 +497,13 @@ mbox application/mbox
479
497
  mc1 application/vnd.medcalcdata base64
480
498
  mcd application/vnd.mcd base64
481
499
  mcurl text/vnd.curl.mcurl quoted-printable
482
- md text/plain quoted-printable
500
+ md text/markdown quoted-printable
483
501
  mda application/x-msaccess base64
484
502
  mdb application/x-msaccess base64
485
503
  mde application/x-msaccess base64
486
504
  mdf application/x-msaccess base64
487
505
  mdi image/vnd.ms-modi base64
488
- me application/x-troff-me base64
506
+ me text/troff 8bit
489
507
  mesh model/mesh base64
490
508
  meta4 application/metalink4+xml base64
491
509
  metalink application/metalink+xml base64
@@ -503,8 +521,10 @@ mj2 video/MJ2
503
521
  mjp2 video/MJ2 base64
504
522
  mjpeg video/x-motion-jpeg base64
505
523
  mjpg video/x-motion-jpeg base64
524
+ mjs application/javascript 8bit
506
525
  mk3d video/x-matroska base64
507
526
  mka audio/x-matroska base64
527
+ mkd text/markdown quoted-printable
508
528
  mks video/x-matroska base64
509
529
  mkv video/x-matroska base64
510
530
  mlp application/vnd.dolby.mlp base64
@@ -533,6 +553,8 @@ mpg video/mpeg
533
553
  mpg4 application/mp4 base64
534
554
  mpga audio/mpeg base64
535
555
  mpkg application/vnd.apple.installer+xml base64
556
+ mpl video/MP2T base64
557
+ mpls video/MP2T base64
536
558
  mpm application/vnd.blueice.multipass base64
537
559
  mpn application/vnd.mophun.application base64
538
560
  mpp application/vnd.ms-project base64
@@ -541,7 +563,8 @@ mpy application/vnd.ibm.MiniPay
541
563
  mqy application/vnd.Mobius.MQY base64
542
564
  mrc application/marc base64
543
565
  mrcx application/marcxml+xml base64
544
- ms application/x-troff-ms base64
566
+ mrw image/x-minolta-mrw base64
567
+ ms text/troff 8bit
545
568
  mscml application/mediaservercontrol+xml base64
546
569
  mseed application/vnd.fdsn.mseed base64
547
570
  mseq application/vnd.mseq base64
@@ -568,6 +591,7 @@ nb application/mathematica
568
591
  nbp application/vnd.wolfram.player base64
569
592
  nc application/netcdf base64
570
593
  ncx application/x-dtbncx+xml base64
594
+ nef image/x-nikon-nef base64
571
595
  nfo text/x-nfo quoted-printable
572
596
  ngdat application/vnd.nokia.n-gage.data base64
573
597
  nim video/vnd.nokia.interleaved-multimedia base64
@@ -577,6 +601,7 @@ nml application/vnd.enliven
577
601
  nnd application/vnd.noblenet-directory base64
578
602
  nns application/vnd.noblenet-sealer base64
579
603
  nnw application/vnd.noblenet-web base64
604
+ notebook application/x-smarttech-notebook base64
580
605
  npx image/vnd.net-fpx base64
581
606
  nsc application/x-conference base64
582
607
  nsf application/vnd.lotus-notes base64
@@ -612,11 +637,13 @@ onetoc2 application/onenote
612
637
  opf application/oebps-package+xml base64
613
638
  opml text/x-opml quoted-printable
614
639
  oprc application/vnd.palm base64
640
+ opus audio/ogg base64
641
+ orf image/x-olympus-orf base64
615
642
  org application/vnd.lotus-organizer base64
616
643
  osf application/vnd.yamaha.openscoreformat base64
617
644
  osfpvg application/vnd.yamaha.openscoreformat.osfpvg+xml base64
618
645
  otc application/vnd.oasis.opendocument.chart-template base64
619
- otf application/font-sfnt base64
646
+ otf font/otf base64
620
647
  otg application/vnd.oasis.opendocument.graphics-template base64
621
648
  oth application/vnd.oasis.opendocument.text-web base64
622
649
  oti application/vnd.oasis.opendocument.image-template base64
@@ -649,6 +676,7 @@ pcurl application/vnd.curl.pcurl
649
676
  pcx image/x-pcx base64
650
677
  pdb application/vnd.palm base64
651
678
  pdf application/pdf base64
679
+ pef image/x-pentax-pef base64
652
680
  pfa application/x-font-type1 base64
653
681
  pfb application/x-font-type1 base64
654
682
  pfm application/x-font-type1 base64
@@ -680,16 +708,16 @@ pml application/vnd.ctc-posml
680
708
  png image/png base64
681
709
  pnm image/x-portable-anymap base64
682
710
  portpkg application/vnd.macports.portpkg base64
683
- pot application/powerpoint base64
711
+ pot application/vnd.ms-powerpoint base64
684
712
  potm application/vnd.ms-powerpoint.template.macroEnabled.12 base64
685
713
  potx application/vnd.openxmlformats-officedocument.presentationml.template base64
686
714
  ppam application/vnd.ms-powerpoint.addin.macroEnabled.12 base64
687
715
  ppd application/vnd.cups-ppd base64
688
716
  ppm image/x-portable-pixmap base64
689
- pps application/powerpoint base64
717
+ pps application/vnd.ms-powerpoint base64
690
718
  ppsm application/vnd.ms-powerpoint.slideshow.macroEnabled.12 base64
691
719
  ppsx application/vnd.openxmlformats-officedocument.presentationml.slideshow base64
692
- ppt application/powerpoint base64
720
+ ppt application/vnd.ms-powerpoint base64
693
721
  pptm application/vnd.ms-powerpoint.presentation.macroEnabled.12 base64
694
722
  pptx application/vnd.openxmlformats-officedocument.presentationml.presentation base64
695
723
  pqa application/vnd.palm base64
@@ -727,9 +755,11 @@ qxd application/vnd.Quark.QuarkXPress
727
755
  qxl application/vnd.Quark.QuarkXPress 8bit
728
756
  qxt application/vnd.Quark.QuarkXPress 8bit
729
757
  ra audio/x-pn-realaudio base64
758
+ raf image/x-fuji-raf base64
730
759
  ram audio/x-pn-realaudio base64
731
760
  rar application/x-rar-compressed base64
732
761
  ras image/x-cmu-raster base64
762
+ raw image/x-panasonic-raw base64
733
763
  rb application/x-ruby 8bit
734
764
  rbw application/x-ruby 8bit
735
765
  rcprofile application/vnd.ipunplugged.rcprofile base64
@@ -874,7 +904,9 @@ spq application/scvp-vp-request
874
904
  sps application/x-spss base64
875
905
  spx audio/ogg base64
876
906
  sql application/x-sql base64
907
+ sr2 image/x-sony-sr2 base64
877
908
  src application/x-wais-source base64
909
+ srf image/x-sony-srf base64
878
910
  srt application/x-subrip base64
879
911
  sru application/sru+xml base64
880
912
  srx application/sparql-results+xml base64
@@ -951,8 +983,8 @@ troff text/troff
951
983
  ts video/MP2T base64
952
984
  tsd application/timestamped-data base64
953
985
  tsv text/tab-separated-values quoted-printable
954
- ttc application/x-font-ttf base64
955
- ttf application/font-sfnt base64
986
+ ttc font/collection base64
987
+ ttf font/ttf base64
956
988
  ttl text/turtle quoted-printable
957
989
  twd application/vnd.SimTech-MindMapper base64
958
990
  twds application/vnd.SimTech-MindMapper base64
@@ -1027,7 +1059,8 @@ vtu model/vnd.vtu
1027
1059
  vxml application/voicexml+xml base64
1028
1060
  w3d application/x-director base64
1029
1061
  wad application/x-doom base64
1030
- wav audio/x-wav base64
1062
+ wasm application/wasm 8bit
1063
+ wav audio/wav base64
1031
1064
  wax audio/x-ms-wax base64
1032
1065
  wbmp image/vnd.wap.wbmp base64
1033
1066
  wbs application/vnd.criticaltools.wbs+xml base64
@@ -1056,8 +1089,8 @@ wmlsc application/vnd.wap.wmlscriptc
1056
1089
  wmv audio/x-ms-wmv base64
1057
1090
  wmx video/x-ms-wmx base64
1058
1091
  wmz application/x-ms-wmz base64
1059
- woff application/font-woff base64
1060
- woff2 application/font-woff base64
1092
+ woff font/woff base64
1093
+ woff2 font/woff2 base64
1061
1094
  wp application/wordperfect5.1 base64
1062
1095
  wp5 application/wordperfect5.1 base64
1063
1096
  wp6 application/x-wordperfect6.1 base64
@@ -1081,6 +1114,7 @@ x3dbz model/x3d+binary
1081
1114
  x3dv model/x3d+vrml base64
1082
1115
  x3dvz model/x3d+vrml base64
1083
1116
  x3dz model/x3d+xml base64
1117
+ x3f image/x-sigma-x3f base64
1084
1118
  x_b model/vnd.parasolid.transmit.binary base64
1085
1119
  x_t model/vnd.parasolid.transmit.text quoted-printable
1086
1120
  xaml application/xaml+xml base64
@@ -1131,6 +1165,7 @@ xpr application/vnd.is-xpr
1131
1165
  xps application/vnd.ms-xpsdocument 8bit
1132
1166
  xpw application/vnd.intercon.formnet base64
1133
1167
  xpx application/vnd.intercon.formnet base64
1168
+ xsd text/xml 8bit
1134
1169
  xsl application/xml 8bit
1135
1170
  xslt application/xslt+xml base64
1136
1171
  xsm application/vnd.syncml+xml base64
data/lib/mini_mime.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "mini_mime/version"
2
3
  require "thread"
3
4
 
@@ -6,10 +7,24 @@ module MiniMime
6
7
  Db.lookup_by_filename(filename)
7
8
  end
8
9
 
10
+ def self.lookup_by_extension(extension)
11
+ Db.lookup_by_extension(extension)
12
+ end
13
+
9
14
  def self.lookup_by_content_type(mime)
10
15
  Db.lookup_by_content_type(mime)
11
16
  end
12
17
 
18
+ module Configuration
19
+ class << self
20
+ attr_accessor :ext_db_path
21
+ attr_accessor :content_type_db_path
22
+ end
23
+
24
+ self.ext_db_path = File.expand_path("../db/ext_mime.db", __FILE__)
25
+ self.content_type_db_path = File.expand_path("../db/content_type_mime.db", __FILE__)
26
+ end
27
+
13
28
  class Info
14
29
  BINARY_ENCODINGS = %w(base64 8bit)
15
30
 
@@ -39,17 +54,16 @@ module MiniMime
39
54
 
40
55
  def self.lookup_by_filename(filename)
41
56
  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
57
+ return if extension.empty?
58
+ extension = extension[1..-1]
59
+ lookup_by_extension(extension)
60
+ end
61
+
62
+ def self.lookup_by_extension(extension)
63
+ LOCK.synchronize do
64
+ @db ||= new
65
+ @db.lookup_by_extension(extension) ||
66
+ @db.lookup_by_extension(extension.downcase)
53
67
  end
54
68
  end
55
69
 
@@ -80,8 +94,8 @@ module MiniMime
80
94
  class RandomAccessDb
81
95
  MAX_CACHED = 100
82
96
 
83
- def initialize(name, sort_order)
84
- @path = File.expand_path("../db/#{name}", __FILE__)
97
+ def initialize(path, sort_order)
98
+ @path = path
85
99
  @file = File.open(@path)
86
100
 
87
101
  @row_length = @file.readline.length
@@ -116,7 +130,7 @@ module MiniMime
116
130
  result = nil
117
131
 
118
132
  while from <= to do
119
- midpoint = from + (to-from).div(2)
133
+ midpoint = from + (to - from).div(2)
120
134
  current = resolve(midpoint)
121
135
  data = current[@sort_order]
122
136
  if data > val
@@ -132,14 +146,14 @@ module MiniMime
132
146
  end
133
147
 
134
148
  def resolve(row)
135
- @file.seek(row*@row_length)
149
+ @file.seek(row * @row_length)
136
150
  Info.new(@file.readline)
137
151
  end
138
152
  end
139
153
 
140
154
  def initialize
141
- @ext_db = RandomAccessDb.new("ext_mime.db", 0)
142
- @content_type_db = RandomAccessDb.new("content_type_mime.db", 1)
155
+ @ext_db = RandomAccessDb.new(Configuration.ext_db_path, 0)
156
+ @content_type_db = RandomAccessDb.new(Configuration.content_type_db_path, 1)
143
157
  end
144
158
 
145
159
  def lookup_by_extension(extension)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module MiniMime
2
- VERSION = "0.1.4"
3
+ VERSION = "1.1.0"
3
4
  end
data/mini_mime.gemspec CHANGED
@@ -22,7 +22,9 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_development_dependency "bundler", "~> 1.13"
25
+ spec.add_development_dependency "bundler", ">= 1.13"
26
26
  spec.add_development_dependency "rake", "~> 10.0"
27
27
  spec.add_development_dependency "minitest", "~> 5.0"
28
+ spec.add_development_dependency "rubocop"
29
+ spec.add_development_dependency "rubocop-discourse"
28
30
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_mime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Saffron
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-08-11 00:00:00.000000000 Z
11
+ date: 2021-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.13'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.13'
27
27
  - !ruby/object:Gem::Dependency
@@ -52,6 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop-discourse
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
55
83
  description: A lightweight mime type lookup toy
56
84
  email:
57
85
  - sam.saffron@gmail.com
@@ -59,8 +87,10 @@ executables: []
59
87
  extensions: []
60
88
  extra_rdoc_files: []
61
89
  files:
90
+ - ".github/workflows/ci.yml"
91
+ - ".github/workflows/db.yml"
62
92
  - ".gitignore"
63
- - ".travis.yml"
93
+ - ".rubocop.yml"
64
94
  - CHANGELOG
65
95
  - CODE_OF_CONDUCT.md
66
96
  - Gemfile
@@ -69,6 +99,7 @@ files:
69
99
  - Rakefile
70
100
  - bench/bench.rb
71
101
  - bin/console
102
+ - bin/db_pull_request
72
103
  - bin/setup
73
104
  - lib/db/content_type_mime.db
74
105
  - lib/db/ext_mime.db
@@ -79,7 +110,7 @@ homepage: https://github.com/discourse/mini_mime
79
110
  licenses:
80
111
  - MIT
81
112
  metadata: {}
82
- post_install_message:
113
+ post_install_message:
83
114
  rdoc_options: []
84
115
  require_paths:
85
116
  - lib
@@ -94,9 +125,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
125
  - !ruby/object:Gem::Version
95
126
  version: '0'
96
127
  requirements: []
97
- rubyforge_project:
98
- rubygems_version: 2.5.2
99
- signing_key:
128
+ rubygems_version: 3.2.2
129
+ signing_key:
100
130
  specification_version: 4
101
131
  summary: A lightweight mime type lookup toy
102
132
  test_files: []
data/.travis.yml DELETED
@@ -1,30 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
-
5
- before_install: gem install bundler -v 1.13.6
6
-
7
- rvm:
8
- - 1.8.7
9
- - 1.9.2
10
- - 1.9.3
11
- - 2.0.0
12
- - 2.1.10
13
- - 2.2.7
14
- - 2.3.4
15
- - 2.4.1
16
- - ruby-head
17
- - jruby
18
- - jruby-9.0.5.0
19
- - jruby-9.1.6.0
20
- - jruby-head
21
- - rbx-2
22
-
23
- matrix:
24
- allow_failures:
25
- - rvm: ruby-head
26
- - rvm: jruby-9.0.5.0
27
- - rvm: jruby-9.1.6.0
28
- - rvm: jruby-head
29
- - rvm: rbx-2
30
- fast_finish: true