Sha256: 3be0ef832baa8cdfae1e612604f4a2c8669c7f6ad955b968de01257bdae036d3

Contents?: true

Size: 605 Bytes

Versions: 7

Compression:

Stored size: 605 Bytes

Contents

# frozen_string_literal: true

require 'open3'
require 'zeitwerk'

loader = Zeitwerk::Loader.for_gem
loader.inflector.inflect 'mupdf' => 'MuPDF'
loader.setup

# An interface to [MuPDF](https://mupdf.com/) for managing PDFs.
module MuPDF
  class Error < StandardError; end

  # @usage
  #   MuPDF.mutool('info', 'file.pdf')
  #
  # @param cmd [Array<String>] e.g. ['info', 'file.pdf']
  # @raise [ToolError]
  #
  # @return [String]
  def self.mutool(*cmd)
    result, status = Open3.capture2e('mutool', *cmd)
    raise CommandError.new(cmd:, result:, status:) unless status.success?

    result
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mupdf-1.0.3 lib/mupdf.rb
mupdf-1.0.2 lib/mupdf.rb
mupdf-1.0.1 lib/mupdf.rb
mupdf-1.0.0 lib/mupdf.rb
mupdf-0.4.0 lib/mupdf.rb
mupdf-0.3.0 lib/mupdf.rb
mupdf-0.2.0 lib/mupdf.rb