mimemagic 0.3.7 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +8 -1
- data/.yardopts +5 -1
- data/CHANGELOG.md +39 -0
- data/Gemfile +3 -0
- data/README.md +4 -4
- data/Rakefile +7 -1
- data/ext/mimemagic/Rakefile +14 -9
- data/lib/mimemagic/tables.rb +10 -1
- data/lib/mimemagic/version.rb +1 -1
- data/mimemagic.gemspec +3 -3
- metadata +14 -15
- data/lib/mimemagic/overlay.rb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2abd4f41baffb732279942648c4ad82c4d335f7c77c804c41a689336fb534e83
|
4
|
+
data.tar.gz: 9e4c8ed64398d1b07a817cca407b39baa585aabe68ee842fcd65a5ec8763cb23
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ee087aa96e55b4c3d681eedecb06e6bcbe190ea8e36fb2968f02c8470c362bac64a983b13e4f1939efaa16e5969d59642f00dfc1f93e54e75ec1da277f8f066
|
7
|
+
data.tar.gz: 76833f505773b7e823f34b5334401185850a80fc9029d39ef09c0bf6a6ca3a306450ecc247f2bc343093dd4654931a532122c7ec5e7248746fa18481a21255ff
|
data/.gitignore
CHANGED
data/.yardopts
CHANGED
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,10 @@
|
|
4
4
|
|
5
5
|
### Breaking Changes
|
6
6
|
|
7
|
+
## 0.4.1
|
8
|
+
|
9
|
+
Remove `mimemagic/overlay` as it contains outdated, little used, data.
|
10
|
+
|
7
11
|
## 0.3.7 (2021-03-25)
|
8
12
|
|
9
13
|
You will now need to ensure you have a copy of the fd.o shared MIME
|
@@ -18,6 +22,41 @@ None
|
|
18
22
|
|
19
23
|
None
|
20
24
|
|
25
|
+
## 0.4.2
|
26
|
+
|
27
|
+
* Resolve issues parsing the version of freedesktop.org.xml shipped with
|
28
|
+
Ubuntu Trusty.
|
29
|
+
|
30
|
+
* Make Rake a runtime dependency.
|
31
|
+
|
32
|
+
* Fix the test suite.
|
33
|
+
|
34
|
+
* Relax the dependency on Nokogiri to something less specific in order
|
35
|
+
to avoid conflicting with other dependencies in people's applications.
|
36
|
+
|
37
|
+
## 0.4.1
|
38
|
+
|
39
|
+
|
40
|
+
## 0.4.0
|
41
|
+
|
42
|
+
Yanked release.
|
43
|
+
|
44
|
+
## 0.3.9 (2021-03-25)
|
45
|
+
|
46
|
+
* Resolve issues parsing the version of freedesktop.org.xml shipped with
|
47
|
+
Ubuntu Trusty.
|
48
|
+
|
49
|
+
* Reintroduce overlays, since it seems at least some people were using
|
50
|
+
them.
|
51
|
+
|
52
|
+
* Make Rake a runtime dependency.
|
53
|
+
|
54
|
+
* Fix the test suite.
|
55
|
+
## 0.3.8 (2021-03-25)
|
56
|
+
|
57
|
+
Relax the dependency on Nokogiri to something less specific in order
|
58
|
+
to avoid conflicting with other dependencies in people's applications.
|
59
|
+
|
21
60
|
## 0.3.7 (2021-03-25)
|
22
61
|
|
23
62
|
Add a dependency on having a preinstalled version of the fd.o shared
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -46,10 +46,10 @@ http://www.rubydoc.info/github/mimemagicrb/mimemagic
|
|
46
46
|
Tests
|
47
47
|
=====
|
48
48
|
|
49
|
-
```
|
50
|
-
bundle install
|
49
|
+
```console
|
50
|
+
$ bundle install
|
51
51
|
|
52
|
-
rake test
|
52
|
+
$ bundle exec rake test
|
53
53
|
```
|
54
54
|
|
55
55
|
Authors
|
@@ -62,4 +62,4 @@ Authors
|
|
62
62
|
LICENSE
|
63
63
|
=======
|
64
64
|
|
65
|
-
MIT
|
65
|
+
{file:LICENSE MIT}
|
data/Rakefile
CHANGED
@@ -1,9 +1,15 @@
|
|
1
1
|
require 'rake/testtask'
|
2
|
+
require 'rake/clean'
|
3
|
+
|
4
|
+
namespace :ext do
|
5
|
+
load 'ext/mimemagic/Rakefile'
|
6
|
+
end
|
7
|
+
CLOBBER.include("lib/mimemagic/path.rb")
|
2
8
|
|
3
9
|
task :default => %w(test)
|
4
10
|
|
5
11
|
desc 'Run tests with minitest'
|
6
|
-
Rake::TestTask.new do |t|
|
12
|
+
Rake::TestTask.new("test" => "ext:default") do |t|
|
7
13
|
t.libs << 'test'
|
8
14
|
t.pattern = 'test/*_test.rb'
|
9
15
|
end
|
data/ext/mimemagic/Rakefile
CHANGED
@@ -6,16 +6,17 @@ def locate_mime_database
|
|
6
6
|
(File.expand_path(ENV["FREEDESKTOP_MIME_TYPES_PATH"]) if ENV["FREEDESKTOP_MIME_TYPES_PATH"]),
|
7
7
|
"/usr/local/share/mime/packages/freedesktop.org.xml",
|
8
8
|
"/opt/homebrew/share/mime/packages/freedesktop.org.xml",
|
9
|
+
"/opt/local/share/mime/packages/freedesktop.org.xml",
|
9
10
|
"/usr/share/mime/packages/freedesktop.org.xml"
|
10
11
|
].compact
|
11
12
|
path = possible_paths.find { |candidate| File.exist?(candidate) }
|
12
|
-
|
13
|
+
|
13
14
|
return path unless path.nil?
|
14
|
-
raise(
|
15
|
+
raise(<<-ERROR.gsub(/^ {3}/, ""))
|
15
16
|
Could not find MIME type database in the following locations: #{possible_paths}
|
16
|
-
|
17
|
-
Ensure you have either installed the shared-mime-
|
18
|
-
obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location
|
17
|
+
|
18
|
+
Ensure you have either installed the shared-mime-info package for your distribution, or
|
19
|
+
obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location
|
19
20
|
of that file.
|
20
21
|
ERROR
|
21
22
|
end
|
@@ -23,11 +24,15 @@ end
|
|
23
24
|
desc "Build a file pointing at the database"
|
24
25
|
task :default do
|
25
26
|
mime_database_path = locate_mime_database
|
26
|
-
|
27
|
-
|
27
|
+
target_dir = "#{ENV.fetch("RUBYARCHDIR")}/mimemagic"
|
28
|
+
mkdir_p target_dir
|
29
|
+
|
30
|
+
open("#{target_dir}/path.rb", "w") do |f|
|
31
|
+
f.print(<<~SOURCE
|
28
32
|
class MimeMagic
|
29
33
|
DATABASE_PATH="#{mime_database_path}"
|
30
34
|
end
|
31
|
-
|
35
|
+
SOURCE
|
36
|
+
)
|
32
37
|
end
|
33
|
-
end
|
38
|
+
end
|
data/lib/mimemagic/tables.rb
CHANGED
@@ -26,7 +26,16 @@ class MimeMagic
|
|
26
26
|
offset = offset.size == 2 ? offset[0]..offset[1] : offset[0]
|
27
27
|
case type
|
28
28
|
when 'string'
|
29
|
-
|
29
|
+
# This *one* pattern match, in the entirety of fd.o's mime types blows up the parser
|
30
|
+
# because of the escape character \c, so right here we have a hideous hack to
|
31
|
+
# accommodate that.
|
32
|
+
if value == '\chapter'
|
33
|
+
'\chapter'
|
34
|
+
else
|
35
|
+
value.gsub!(/\\(x[\dA-Fa-f]{1,2}|0\d{1,3}|\d{1,3}|.)/) {
|
36
|
+
eval("\"\\#{$1}\"")
|
37
|
+
}
|
38
|
+
end
|
30
39
|
when 'big16'
|
31
40
|
value = str2int(value)
|
32
41
|
value = ((value >> 8).chr + (value & 0xFF).chr)
|
data/lib/mimemagic/version.rb
CHANGED
data/mimemagic.gemspec
CHANGED
@@ -15,14 +15,14 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.extensions = %w(ext/mimemagic/Rakefile)
|
16
16
|
|
17
17
|
s.summary = 'Fast mime detection by extension or content'
|
18
|
-
s.description = 'Fast mime detection by extension or content
|
18
|
+
s.description = 'Fast mime detection by extension or content (Uses freedesktop.org.xml shared-mime-info database)'
|
19
19
|
s.homepage = 'https://github.com/mimemagicrb/mimemagic'
|
20
20
|
s.license = 'MIT'
|
21
21
|
|
22
|
-
s.add_dependency('nokogiri', '~> 1
|
22
|
+
s.add_dependency('nokogiri', '~> 1')
|
23
|
+
s.add_dependency('rake')
|
23
24
|
|
24
25
|
s.add_development_dependency('minitest', '~> 5.14')
|
25
|
-
s.add_development_dependency('rake', '~> 13.0')
|
26
26
|
|
27
27
|
if s.respond_to?(:metadata)
|
28
28
|
s.metadata['changelog_uri'] = "https://github.com/mimemagicrb/mimemagic/blob/master/CHANGELOG.md"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mimemagic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3
|
4
|
+
version: 0.4.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Mendler
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-03-
|
12
|
+
date: 2021-03-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -17,43 +17,43 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1
|
20
|
+
version: '1'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 1
|
27
|
+
version: '1'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - "
|
32
|
+
- - ">="
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
35
|
-
type: :
|
34
|
+
version: '0'
|
35
|
+
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - "
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: minitest
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
48
|
+
version: '5.14'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
56
|
-
description: Fast mime detection by extension or content
|
55
|
+
version: '5.14'
|
56
|
+
description: Fast mime detection by extension or content (Uses freedesktop.org.xml
|
57
57
|
shared-mime-info database)
|
58
58
|
email:
|
59
59
|
- mail@daniel-mendler.de
|
@@ -73,7 +73,6 @@ files:
|
|
73
73
|
- Rakefile
|
74
74
|
- ext/mimemagic/Rakefile
|
75
75
|
- lib/mimemagic.rb
|
76
|
-
- lib/mimemagic/overlay.rb
|
77
76
|
- lib/mimemagic/tables.rb
|
78
77
|
- lib/mimemagic/version.rb
|
79
78
|
- mimemagic.gemspec
|
data/lib/mimemagic/overlay.rb
DELETED
File without changes
|