class Sunnyside::EdiReader

Attributes

data[R]

Public Class Methods

new(data) click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 31
def initialize(data)
  @data = data
end

Public Instance Methods

check_number() click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 39
def check_number
  check = data[0][/(?<=~TRN\*\d\*)\w+/]
  return check.include?('E') ? check[/\d+$/] : check
end
check_total() click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 44
def check_total
  data[0][/(?<=~BPR\*\w\*)[0-9\.\-]+/, 0]
end
claims() click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 35
def claims
  data.select { |clm| clm =~ /^\d+/ }.map { |clm| clm.split(/~(?=SVC)/) }
end
parse_claims() click to toggle source
# File lib/sunnyside/ledger/edi.rb, line 48
def parse_claims
  payment_id = Payment.insert(check_number: check_number, check_total: check_total)
  claims.each { |claim| ClaimParser.new(claim, payment_id).parse }
end