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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f6da483b1c1d4378db22986ec169a3ec569d138a8ab29f5daeb065af66d39fbd
4
- data.tar.gz: e987b92b51834ade1b3529b6cb7761d444d6e7089c070e2324ce97e9a22d135c
3
+ metadata.gz: 2abd4f41baffb732279942648c4ad82c4d335f7c77c804c41a689336fb534e83
4
+ data.tar.gz: 9e4c8ed64398d1b07a817cca407b39baa585aabe68ee842fcd65a5ec8763cb23
5
5
  SHA512:
6
- metadata.gz: 250747be3d00f5deb7d0fef8cb6682b8f7589c26b640192aa4f53d6ee4025119063a59d64e2eea20aafb31e4abc231042ce3d1bca35555f8b6e94be220205aa8
7
- data.tar.gz: 24a9b36f0ff3c788ec4f62e97e9526ec93b4b71625e3f722bc0b1d234fa879ee4ce7287913618471d8c8dedf8693eebfa1081afbd3933233ff5a9a7214018dd7
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,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
@@ -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.7'
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
- s.add_dependency('nokogiri', '~> 1.11.2')
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.7
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
@@ -17,43 +17,43 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 1.11.2
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.11.2
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