mimemagic 0.3.8 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e2c3a9896445d8ed6f6e83bbfeedfd9df42e8d59747ada8814ee2609fe15645a
4
- data.tar.gz: 84b804a59ebd1cbbe8772403ffc3ec7a145d6f72d39240916d0e879559cd9baf
3
+ metadata.gz: 2abd4f41baffb732279942648c4ad82c4d335f7c77c804c41a689336fb534e83
4
+ data.tar.gz: 9e4c8ed64398d1b07a817cca407b39baa585aabe68ee842fcd65a5ec8763cb23
5
5
  SHA512:
6
- metadata.gz: ae357c325788a4c4d1945525a24197042513484be2733bf11be411ff909cf5e646798107f87c05b016da0b29534f94f2dee88896da0899e561d7296eb4337b16
7
- data.tar.gz: 94fbee1a133e99bd513c9c851898e5094c8b011819785c73378ecfeb50d2a0295507d761a5cce3dd6c2342e93f2e5a75128c98c76face17f708c14539c20f916
6
+ metadata.gz: 3ee087aa96e55b4c3d681eedecb06e6bcbe190ea8e36fb2968f02c8470c362bac64a983b13e4f1939efaa16e5969d59642f00dfc1f93e54e75ec1da277f8f066
7
+ data.tar.gz: 76833f505773b7e823f34b5334401185850a80fc9029d39ef09c0bf6a6ca3a306450ecc247f2bc343093dd4654931a532122c7ec5e7248746fa18481a21255ff
data/.gitignore CHANGED
@@ -2,5 +2,12 @@
2
2
  *.gem
3
3
  Gemfile.lock
4
4
  .bundle
5
+
6
+ # doc
5
7
  .yardoc
6
- vendor
8
+ doc/
9
+
10
+ vendor
11
+
12
+ # don't include generated files
13
+ lib/mimemagic/path.rb
data/.yardopts CHANGED
@@ -1,2 +1,6 @@
1
+ --markup-provider=redcarpet
2
+ --markup=markdown
1
3
  --no-private
2
- - README.md
4
+ - README.md
5
+ - LICENSE
6
+ - CHANGELOG.md
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,36 @@ 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.
21
55
  ## 0.3.8 (2021-03-25)
22
56
 
23
57
  Relax the dependency on Nokogiri to something less specific in order
data/Gemfile CHANGED
@@ -1,3 +1,6 @@
1
1
  source 'https://rubygems.org/'
2
2
  gemspec
3
3
 
4
+ gem 'yard'
5
+ gem 'redcarpet'
6
+ gem 'github-markup'
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
@@ -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(<<~ERROR)
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-types package for your distribution, or
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
- open("../../lib/mimemagic/path.rb", "w") do |f|
27
- f.print(%Q{
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
@@ -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
- value.gsub!(/\\(x[\dA-Fa-f]{1,2}|0\d{1,3}|\d{1,3}|.)/) { eval("\"\\#{$1}\"") }
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)
@@ -1,5 +1,5 @@
1
1
  class MimeMagic
2
2
  # MimeMagic version string
3
3
  # @api public
4
- VERSION = '0.3.8'
4
+ VERSION = '0.4.3'
5
5
  end
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 in pure ruby (Uses freedesktop.org.xml shared-mime-info database)'
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
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.8
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-25 00:00:00.000000000 Z
12
+ date: 2021-03-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -26,34 +26,34 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1'
28
28
  - !ruby/object:Gem::Dependency
29
- name: minitest
29
+ name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - "~>"
32
+ - - ">="
33
33
  - !ruby/object:Gem::Version
34
- version: '5.14'
35
- type: :development
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: '5.14'
41
+ version: '0'
42
42
  - !ruby/object:Gem::Dependency
43
- name: rake
43
+ name: minitest
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '13.0'
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: '13.0'
56
- description: Fast mime detection by extension or content in pure ruby (Uses freedesktop.org.xml
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
File without changes