Files
baclight/app/services/benefits_word_doc_processor.rb
T
Jason Jordan 4fac3b1036
CI / scan_ruby (push) Failing after 10m41s
CI / lint (push) Failing after 7m31s
CI / test (push) Failing after 8m29s
Docker / build-and-test-image (push) Failing after 11m32s
Employers working - onboarding to card print
2026-01-15 11:37:50 -05:00

32 lines
1.2 KiB
Ruby

class BenefitsWordDocProcessor
def initialize(word_doc, employer=nil)
@word_doc = word_doc
if employer
@employer = employer
else
@employer = Employer.new
end
end
def call
doc = Docx::Document.open(@word_doc)
data_lines = doc.paragraphs.map { |p| p.to_s.squish }.reject!(&:empty?)
employer_information, plans_and_network = data_lines.split("Medical Plan")
plan_information, network_information = plans_and_network.split("Claims Submission")
# employer_information = data_lines.slice(0, start_of_plans_index)
# plan_information = data_lines.slice(start_of_plans_index + 1..)
# network_information = data_lines.slice(start_of_network_index + 1..)
@employer = BenefitsWordDoc::MapEmployerInformation.new(@employer, employer_information).call
@employer = BenefitsWordDoc::MapEmployerLogo.new(@employer, @word_doc).call
@employer = BenefitsWordDoc::MapPlansInformation.new(@employer, plan_information).call
@employer = BenefitsWordDoc::MapNetworkInformation.new(@employer, network_information).call
@employer
end
end