Module: OFX

Defined in:
lib/ofx.rb,
lib/ofx/ffi.rb,
lib/ofx/account.rb,
lib/ofx/statement.rb,
lib/ofx/transaction.rb,
lib/ofx/ffi/valid_access.rb

Defined Under Namespace

Modules: FFI Classes: Account, Statement, Transaction

Constant Summary collapse

AccountCallback =
Proc.new do |acct_data, junk|
   = Account.new(acct_data)
  @statement[.number] = 
  0
end
TransactionCallback =
Proc.new do |t, junk|
  acct_data = FFI::AccountData.new t[:account_ptr]
  acct_num  = acct_data.
  @statement[acct_num].transactions << Transaction.new(t)
  0
end

Class Method Summary collapse

Class Method Details

.parse(file_name) ⇒ Object

Raises:

  • (Errno::ENOENT)


23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/ofx.rb', line 23

def self.parse(file_name)
  raise Errno::ENOENT unless File.exist? file_name

  @statement = OFX::Statement.new

  context = FFI.libofx_get_new_context
  FFI. context, AccountCallback
  FFI.ofx_set_transaction_cb context, TransactionCallback
  FFI.ofx_proc_file context, file_name, 0
  FFI.libofx_free_context context

  @statement
end