Class: Currency

Inherits:
Object
  • Object
show all
Defined in:
lib/currency.rb

Class Method Summary collapse

Class Method Details

.convert_amount_from_to(conn, amount, from_curr, to_curr, date) ⇒ Object



3
4
5
# File 'lib/currency.rb', line 3

def self.convert_amount_from_to(conn, amount, from_curr, to_curr, date)
  convert_currency_amount({conn: conn, amount: amount, from_curr: from_curr, to_curr: to_curr, date: date})
end

.convert_currency_amount(*options) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/currency.rb', line 6

def self.convert_currency_amount(*options)
  
  return 0.0 unless options
  return 0.0 unless options.class == Array

  params = options.first

  rate_type = params[:rate_type] ? params[:rate_type] : 'M'
  date = params[:date] ? params[:date] : Date.today
  conn = params[:conn]
  from_curr = params[:from_curr]
  to_curr = params[:to_curr]
  amount = params[:amount]

  return 0.0 unless (conn && from_curr && to_curr && amount)

  fname = conn.conn.get_function('RPM_CONVERT_CURRENCY_AMOUNT')
  fcall = fname.get_function_call

  fcall[:IV_RATE_TYPE] = rate_type
  fcall[:DATE] = date
  fcall[:IV_FROM_CURR] = from_curr
  fcall[:IV_TO_CURR] = to_curr
  fcall[:IV_AMOUNT] = amount

  fcall.invoke
  
  fcall[:EV_AMOUNT].to_f
end