Files
baclight/app/services/benefits_word_doc_processor.rb
T
2025-12-10 13:22:33 -05:00

30 lines
874 B
Ruby

class BenefitsWordDocProcessor
def initialize(word_doc, process=nil)
@word_doc = word_doc
if process
@process = process
else
@process = EmployerSetupProcess.new
end
end
def call
doc = Docx::Document.open(@word_doc)
data_lines = doc.paragraphs.map { |p| p.to_s.squish }.reject!(&:empty?)
start_of_plans_index = data_lines.index { |s| s == 'Medical Plan'}
employer_information = data_lines.slice(0, start_of_plans_index)
plan_information = data_lines.slice(start_of_plans_index + 1..)
BenefitsWordDoc::MapEmployerInformation.new(@process, employer_information).call
BenefitsWordDoc::MapEmployerLogo.new(@process, @word_doc).call
BenefitsWordDoc::MapPlansInformation.new(@process, plan_information).call
@process
end
end