Class: Uniword::Batch::Operation::RepairTask

Inherits:
Task
  • Object
show all
Defined in:
lib/uniword/batch/operation/repair_task.rb

Overview

uniword repair for one file. Saves the repaired copy to output_path, returns the count of applied fixes as the metric.

Instance Method Summary collapse

Constructor Details

#initialize(output_dir:) ⇒ RepairTask

Returns a new instance of RepairTask.

Parameters:

  • output_dir (String)

    directory to write repaired copies



11
12
13
# File 'lib/uniword/batch/operation/repair_task.rb', line 11

def initialize(output_dir:)
  @output_dir = output_dir
end

Instance Method Details

#nameSymbol

Returns:

  • (Symbol)


16
17
18
# File 'lib/uniword/batch/operation/repair_task.rb', line 16

def name
  :repair
end

#run(path) ⇒ FileResult

Parameters:

  • path (String)

Returns:



22
23
24
25
26
27
28
29
30
# File 'lib/uniword/batch/operation/repair_task.rb', line 22

def run(path)
  doc = Uniword::DocumentFactory.from_file(path)
  output_path = File.join(@output_dir, File.basename(path))

  doc.save(output_path)
  success(path: path)
rescue StandardError => e
  failure(path: path, error: message_of(e))
end