class Pdf2Html::OptionProvider

Attributes

keys[R]

Public Class Methods

new(args, options = {}) click to toggle source
# File lib/pdf2html/option_provider.rb, line 51
def initialize(args, options = {})
  @keys = PDF2HTMLEX_OPTIONS.keys & options.keys
  @options = normalize_options(options)
  @args = args
end

Public Instance Methods

to_h() click to toggle source
# File lib/pdf2html/option_provider.rb, line 64
def to_h
  @options.merge(@args)
end
to_s() click to toggle source
# File lib/pdf2html/option_provider.rb, line 57
def to_s
  return "" if @keys.empty?

  (array_from_options(@options, PDF2HTMLEX_OPTIONS) + 
    PDF2HTMLEX_ARGS).join(" ")
end

Private Instance Methods

array_from_options(hash, opts = hash) click to toggle source
# File lib/pdf2html/option_provider.rb, line 79
def array_from_options(hash, opts = hash)
  hash.flat_map do |key, val|
    [opts[key].to_s, key.to_sym.inspect.to_s]
  end
end
normalize_options(options) click to toggle source
# File lib/pdf2html/option_provider.rb, line 70
def normalize_options(options)
  return {} if options.nil? || @keys.nil?

  @keys.inject({}) do |hash, f| 
    hash[f] = options[f].to_s unless options[f].nil?
    hash
  end
end