diff --git a/app/models/plaid_account/liabilities/student_loan_processor.rb b/app/models/plaid_account/liabilities/student_loan_processor.rb index 09970c3a..c3c3b4f2 100644 --- a/app/models/plaid_account/liabilities/student_loan_processor.rb +++ b/app/models/plaid_account/liabilities/student_loan_processor.rb @@ -24,15 +24,24 @@ class PlaidAccount::Liabilities::StudentLoanProcessor def term_months return nil unless origination_date && expected_payoff_date - (expected_payoff_date - origination_date).to_i / 30 + ((expected_payoff_date - origination_date).to_i / 30).to_i end def origination_date - student_loan_data["origination_date"] + parse_date(student_loan_data["origination_date"]) end def expected_payoff_date - student_loan_data["expected_payoff_date"] + parse_date(student_loan_data["expected_payoff_date"]) + end + + def parse_date(value) + return value if value.is_a?(Date) + return nil unless value.present? + + Date.parse(value.to_s) + rescue ArgumentError + nil end def student_loan_data