-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathmd502_su_pdf.rb
41 lines (36 loc) · 1.71 KB
/
md502_su_pdf.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
module PdfFiller
class Md502SuPdf
include PdfHelper
def source_pdf_name
"md502SU-TY2024"
end
def initialize(submission)
@submission = submission
builder = StateFile::StateInformationService.submission_builder_class(:md)
end
def hash_for_pdf
{
'Your First Name' => @submission.data_source.primary.first_name,
'Text1' => @submission.data_source.primary.middle_initial,
'Your Last Name' => @submission.data_source.primary.last_name,
'Your Social Security Number' => @submission.data_source.primary.ssn,
'Spouses First Name' => @submission.data_source.spouse.first_name,
'Text2' => @submission.data_source.spouse.middle_initial,
'Spouses Last Name' => @submission.data_source.spouse.last_name,
'Spouses Social Security Number' => @submission.data_source.spouse.ssn,
'ab Income from US Government obligations See Instruction 13 ab' => calculated_fields.fetch(:MD502_SU_LINE_AB),
'retirement income received in the taxable year u' => calculated_fields.fetch(:MD502_SU_LINE_U),
"v" => calculated_fields.fetch(:MD502_SU_LINE_V),
'appropriate code letters TOTAL 1' => calculated_fields.fetch(:MD502_SU_LINE_1),
'NAME' => @submission.data_source.primary.last_name,
'SSN' => @submission.data_source.primary.ssn,
'NAME_2' => @submission.data_source.primary.last_name,
'SSN_2' => @submission.data_source.primary.ssn,
}
end
private
def calculated_fields
@calculated_fields ||= @submission.data_source.tax_calculator.calculate
end
end
end