class Tufy::BuildAccountSegment

Constants

REQUIRED_KEYS

Public Class Methods

past_due_code(days_past_due) click to toggle source
# File lib/tufy/build_account_segment.rb, line 34
def self.past_due_code(days_past_due)
  case days_past_due
  when 0
    0
  when (1..30)
    1
  else
    ((days_past_due - 1) / 30) * 30
  end
end

Private Class Methods

transform(ctx) click to toggle source
# File lib/tufy/build_account_segment.rb, line 47
def self.transform(ctx)
  ctx[:segment_tag] = Constants::SEGMENT_TAG

  result = with(ctx).reduce(
    Fields::BuildSegmentTagField,
    Fields::Account::BuildAccountNumberField,
    Fields::Account::BuildRestructuredAccountNumberField,
    Fields::Account::BuildUserIdField,
    Fields::Account::BuildAccountStatusField,
    Fields::Account::BuildAccountTypeField,
    Fields::Account::BuildCurrencyCodeField,
    Fields::Account::BuildOpenedDateField,
    Fields::Account::BuildPaymentAmountField,
    Fields::Account::BuildClosedDateField,
    Fields::Account::BuildReportedDateField,
    Fields::Account::BuildCreditLimitOrLoanAmountField,
    Fields::Account::BuildSharedByField,
    Fields::Account::BuildOutstandingBalanceField,
    Fields::Account::BuildInterestAndFeesField,
    Fields::Account::BuildUnbilledBalanceField,
    Fields::Account::BuildCashAdvanceBalanceField,
    Fields::Account::BuildNumberOfDaysPastDueField,
    Fields::Account::BuildPastDueAmountField,
    Fields::Account::BuildInstallmentAmountField,
    Fields::Account::BuildNumberOfInstallmentsField,
    Fields::Account::BuildPaymentFrequencyField,
    Fields::Account::BuildExpiryDateField,
    Fields::Account::BuildConsumerOrCommercialField,
    Fields::Account::BuildLegalActionField,
    Fields::Account::BuildPartialPaymentField,
    Fields::Account::BuildFreshCashAdvanceField,
  )

  result[:transformed_data]
end