class Pdf2htmlDocker::Service

Attributes

command[W]
command_options[R]
input_dir[R]
input_file[R]
line[R]

Public Class Methods

new(input_file, output_file = '', options = {}) click to toggle source
# File lib/pdf2html_docker/service.rb, line 14
def initialize(input_file, output_file = '', options = {})
  @input_dir, @input_file = process_input_file(input_file)
  args = { pdf: @input_file, html: output_file }
  @command_options = OptionBuilder.new(args, options)
  @line = ::Terrapin::CommandLine.new(command, @command_options.to_s)
end

Public Instance Methods

command() click to toggle source
# File lib/pdf2html_docker/service.rb, line 27
def command
  @command ||= "#{DOCKER_COMMAND}  #{@input_dir}#{DOCKER_VOLUME} #{DOCKER_IMAGE} #{BASE_COMMAND}"
end
run() click to toggle source
# File lib/pdf2html_docker/service.rb, line 21
def run
  @line.run(@command_options.to_h)
rescue Terrapin::CommandNotFoundError, Terrapin::ExitStatusError => e
  e
end

Private Instance Methods

process_input_file(input_file) click to toggle source
# File lib/pdf2html_docker/service.rb, line 33
def process_input_file(input_file)
  splitted_dir = input_file.split('/')
  file = splitted_dir.last
  dir = (splitted_dir - [file]).join('/')
  return ['~/', file] if dir.empty?

  [dir, file]
end