Current section

Files

Jump to
ofex lib transaction.ex
Raw

lib/transaction.ex

defmodule Ofex.Transaction do
import Ofex.Helpers
import SweetXml
def create(ofx_data) do
xpath(ofx_data, ~x".",
type: ~x"TRNTYPE/text()"s,
generic_type: ~x"TRNAMT/text()"s |> transform_by(&generic_type_from_amount/1),
posted_date: ~x"DTPOSTED/text()"s |> transform_by(&string_to_date/1),
amount: ~x"TRNAMT/text()"f,
positive_amount: ~x"TRNAMT/text()"s |> transform_by(&string_to_float/1),
fit_id: ~x"FITID/text()"s,
name: ~x"NAME/text()"s,
memo: ~x"MEMO/text()"s,
check_number: ~x"./CHECKNUM/text()"s
)
end
defp generic_type_from_amount("-" <> _amount), do: "DEBIT"
defp generic_type_from_amount(_amount), do: "CREDIT"
end