- load and namespace the ext/mimemagic/Rakefile into the main Rakefile
- update test task to include ext as a prereq
- add the generated path.rb to clobber
and two fixes to ext/mimemagic/Rakefile
- more robust file load (gem dev vs gem install consistency)
- use squiggly HEREDOC to indent generated file properly
update the readme to match
add LICENSE and CHANGELOG to doc
add yardoc settings for doc writers
The "squiggly" heredoc was introduced in later versions of Ruby, so
using a more compatible version of them with gsubing (to have the same
effect) to allow this to build on more versions of Ruby.
Installing this gem on a system which does NOT contain the external
mime-type database fails indicating that the user should install the
shared-mime-types package.
```
Ensure you have either installed the shared-mime-types package for your distribution, or
obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location
of that file.
/usr/local/bundle/ruby/2.7.0/gems/mimemagic-0.3.7/ext/mimemagic/Rakefile:14:in `locate_mime_database'
/usr/local/bundle/ruby/2.7.0/gems/mimemagic-0.3.7/ext/mimemagic/Rakefile:25:in `block in <top (required)>'
/usr/local/bundle/ruby/2.7.0/gems/rake-13.0.3/exe/rake:27:in `<main>'
Tasks: TOP => default
(See full trace by running task with --trace)
rake failed, exit code 1
Gem files will remain installed in /usr/local/bundle/ruby/2.7.0/gems/mimemagic-0.3.7 for inspection.
Results logged to /usr/local/bundle/ruby/2.7.0/extensions/x86_64-linux/2.7.0/mimemagic-0.3.7/gem_make.out
An error occurred while installing mimemagic (0.3.7), and Bundler cannot continue.
Make sure that `gem install mimemagic -v '0.3.7' --source 'https://rubygems.org/'` succeeds before bundling.
```
Other places in the documentation this package is referred to as
`shared-mime-info`. This changes the error message to be consistent with
the documentation as to reduce confusion for the consumer.
Because we're required to build a C extension in order to do so
(don't ask, its a long story), use that C extension to make the
path provided at build time available at run time.
Currently looks at the value of `FREEDESKTOP_MIME_TYPES_PATH` and
in `/usr/share/mime/packages/freedesktop.org.xml`, which is the
path you would expect to find that file at on a typical Linux
system.