Sha256: e65010ba80652b0fd33debdb51a9f75bd78e041bb59912bb3e523f3621096ae4
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
# frozen_string_literal: true class RTesseract class Command FIXED = %i[command psm oem lang tessdata_dir user_words user_patterns config_file].freeze attr_reader :options def initialize(source, output, errors, options) @source = source @output = output @options = options @errors = errors @full_command = [options.command, @source, @output] end def full_command add_option('--psm', options.psm) add_option('--oem', options.oem) add_option('-l', options.lang) add_option('--tessdata-dir', options.tessdata_dir) add_option('--user-words', options.user_words) add_option('--user-patterns', options.user_patterns) other_configs add_option(options.config_file) @full_command end def add_option(*args) return unless args.last @full_command << args.map(&:to_s) end def other_configs @options.to_h.map do |key, value| next if FIXED.include?(key) add_option('-c', "#{key}=#{value}") end end def run output, error, status = Open3.capture3(*full_command.flatten) @errors.push(error) return output if status.success? raise RTesseract::Error, error end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rtesseract-3.1.0 | lib/rtesseract/command.rb |