Gem Version

Tufy

"Pronounced as T-U-fy" Helper gem to convert any raw data into TU-readable format.

More Information

See the TUDF ver. 11 Guide and the TUDF ver. 11 Walkthrough

Installation

$ gem install tufy

Usage

1. Tufy.transform_raw_data_array(header_data, raw_data_array)

transform_raw_data_array_result =
    Tufy.transform_raw_data_array(
      {
        # for the header segment
        member_reference_number: member_reference_number,
        processor_name: processor_name,
        user_id: user_id,
      },
      [
        {
          # for the name segment
          first_name: first_name,
          last_name: last_name,
          civil_status: civil_status,
          date_of_birth: date_of_birth,
          gender: gender,
          ac_holder_type: ac_holder_type,
          # for the id segment
          id_number: id_number,
          id_type: id_type,
          # for the address segment
          address_line_1: address_line_1,
          address_line_2: address_line_2,
          address_type: address_type,
          # for contact number segment
          contact_number: contact_number,
          contact_number_format: contact_number_format,
          # for email address segment
          email_address: email_address,
          # for account segment
          account_number: ,
          restructured_account_number: ,
          account_status: ,
          account_type: ,
          currency_code: currency_code,
          opened_date: opened_date,
          payment_amount: payment_amount,
          closed_date: closed_date,
          credit_limit_or_loan_amount: credit_limit_or_loan_amount,
          shared_by: shared_by,
          outstanding_balance: outstanding_balance,
          interest_and_fees: interest_and_fees,
          unbilled_balance: unbilled_balance,
          cash_advance_balance: cash_advance_balance,
          number_of_days_past_due: number_of_days_past_due,
          past_due_amount: past_due_amount,
          installment_amount: installment_amount,
          number_of_installments: number_of_installments,
          payment_frequency: payment_frequency,
          expiry_date: expiry_date,
          consumer_or_commercial: consumer_or_commercial,
          legal_action: legal_action,
          partial_payment: partial_payment,
          fresh_cash_advance: fresh_cash_advance,
        },
      ]
    )

2. Tufy.transform_raw_data(raw_data)

transform_raw_data_result =
    Tufy.transform_raw_data(
      {
        # for the name segment
        first_name: first_name,
        last_name: last_name,
        civil_status: civil_status,
        date_of_birth: date_of_birth,
        gender: gender,
        ac_holder_type: ac_holder_type,
        # for the id segment
        id_number: id_number,
        id_type: id_type,
        # for the address segment
        address_line_1: address_line_1,
        address_line_2: address_line_2,
        address_type: address_type,
        # for contact number segment
        contact_number: contact_number,
        contact_number_format: contact_number_format,
        # for email address segment
        email_address: email_address,
        # for account segment
        account_number: ,
        restructured_account_number: ,
        account_status: ,
        account_type: ,
        currency_code: currency_code,
        opened_date: opened_date,
        payment_amount: payment_amount,
        closed_date: closed_date,
        credit_limit_or_loan_amount: credit_limit_or_loan_amount,
        shared_by: shared_by,
        outstanding_balance: outstanding_balance,
        interest_and_fees: interest_and_fees,
        unbilled_balance: unbilled_balance,
        cash_advance_balance: cash_advance_balance,
        number_of_days_past_due: number_of_days_past_due,
        past_due_amount: past_due_amount,
        installment_amount: installment_amount,
        number_of_installments: number_of_installments,
        payment_frequency: payment_frequency,
        expiry_date: expiry_date,
        consumer_or_commercial: consumer_or_commercial,
        legal_action: legal_action,
        partial_payment: partial_payment,
        fresh_cash_advance: fresh_cash_advance,
      }
    )

Supported Data

Segment Field Supported?
Header MEMBER REFERENCE NUMBER
PROCESSOR NAME
USER ID
Name Multiple Entries
FIRST NAME
MIDDLE NAME
LAST NAME
MOTHER'S MAIDEN FULL NAME
CIVIL STATUS
DATE OF BIRTH
GENDER
NATIONALITY
NUMBER OF DEPENDENTS
HOME OWNERSHIP
CAR OWNERSHIP
A/C HOLDER TYPE
DISPUTE
Id Multiple Entries
ID NUMBER
ID TYPE
Alias Multiple Entries
FIRST NAME
MIDDLE NAME
LAST NAME
MOTHER'S MAIDEN FULL NAME
Address Multiple Entries
ADDRESS LINE 1
ADDRESS LINE 2
ZIP CODE
TYPE
Contact Number Multiple Entries
COUNTRY CODE
AREA CODE
CONTACT NUMBER
EXT/CALL
FORMAT
Email Address Multiple Entries
EMAIL ADDRESS
Employment COMPANY NAME
NATURE OF BUSINESS
EMPLOYMENT TYPE
OCCUPATION
LENGTH OF EMPLOYMENT IN YEARS
LENGTH OF EMPLOYMENT IN MONTHS
CURRENCY CODE
CONSUMER ANNUAL INCOME
Education EDUCATION LEVEL
Account ACCOUNT NUMBER
RESTRUCTURED ACCOUNT NUMBER
USER ID
ACCOUNT STATUS
ACCOUT TYPE
CURRENCY CODE
OPENED DATE
PAYMENT AMOUNT
CLOSED DATE
CREDIT LIMIT OR LOAN AMOUNT
SHARED BY
OUTSTANDING BALANCE
INTEREST AND FEES
UNBILLED BALANCE
CASH ADVANCE BALANCE
NUMBER OF DAYS PAST DUE
PAST DUE AMOUNT
INSTALLMENT AMOUNT
NUMBER OF INSTALLMENTS
PAYMENT FREQUENCY
EXPIRY DATE
CONSUMER OR COMMERCIAL
LEGAL ACTION
PARTIAL PAYMENT
FRESH CASH ADVANCE

License

The gem is available as open source under the terms of the MIT License.