class Ach::EntryDetailRecord
Attributes
ach_batch_id[RW]
addenda_record_indicator[RW]
amount[RW]
db_entry_amount[RW]
disc_data[RW]
individual_id[RW]
individual_name[RW]
receiving_dfi_acc_num[RW]
receiving_dfi_routing_num[RW]
record_type[RW]
routing_number[RW]
routing_number_check[RW]
rt_num_check[RW]
settlement_id[RW]
trace_number[RW]
transaction_code[RW]
Public Class Methods
decode(record,processor)
click to toggle source
# File lib/ach/creator.rb, line 331 def self.decode(record,processor) entry_detail = CustomOrderedHash.new entry_detail.insert(:record_type,record[0].chr) entry_detail.insert(:transaction_code, record[1,2]) entry_detail.insert(:receiving_dfi_routing_num,record[3,8]) entry_detail.insert(:rt_num_check,record[11,1]) entry_detail.insert(:receiving_dfi_acc_num,record[12,17]) entry_detail.insert(:amount,record[29,10]) entry_detail.insert(:individual_id,record[39,15]) entry_detail.insert(:individual_name,record[54,22]) entry_detail.insert(:disc_data,record[76,2]) entry_detail.insert(:addenda_record_indicator,record[78,1]) entry_detail.insert(:@trace_number,record[79,15]) processor.process(entry_detail) end
new(options = {})
click to toggle source
# File lib/ach/creator.rb, line 313 def initialize(options = {}) @record_type = '6' @transaction_code = options[:transaction_code] @receiving_dfi_routing_num = options[:receiving_dfi_routing_num] @receiving_dfi_acc_num = options[:receiving_dfi_acc_num] @rt_num_check = options[:rt_num_check] @amount = options[:amount] @individual_id = options[:individual_id] @individual_name = options[:individual_name] @routing_number = options[:routing_number] @trace_number = options[:trace_number] @ach_batch_id = options[:ach_batch_id] @settlement_id = options[:settlement_id] @db_entry_amount = options[:db_entry_amount] @write_to_file = options[:write_to_file] encode end
Protected Instance Methods
encode()
click to toggle source
# File lib/ach/creator.rb, line 349 def encode begin file = @record_type file << @transaction_code file << @receiving_dfi_routing_num.to_s.split(//).first(8).to_s file << @rt_num_check.to_s file << @receiving_dfi_acc_num.to_s.split(//).last(17).to_s.ljust(17) file << @amount.rjust(10,"0") file << @individual_id.to_s.ljust(15) file << @individual_name.slice(0..21).ljust(22) file << "".ljust(2) #9. discretionary data file << "0" @trace_number = "000000000000000"+@trace_number.to_s file << @routing_number+@trace_number[-7,7] Ach::Creator.write_header(file,@write_to_file) rescue Exception => ex puts "Exception while writing ach file -- #{ex.class} #{ex.message} #{ex.backtrace.pp_s}" end end