10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/cfonb/operation_detail/mmo.rb', line 10
def self.apply(operation, line)
operation.original_currency = line.detail[0..2]
scale = line.detail[3].to_i
sign = operation.amount <=> 0
operation.original_amount = sign * BigDecimal(line.detail[4..17]) / (10**scale)
exchange_rate_value = line.detail[26..29]
return if exchange_rate_value.nil? || exchange_rate_value.strip.empty?
exchange_rate_scale = line.detail[18]
operation.exchange_rate = BigDecimal(exchange_rate_value) / (10**BigDecimal(exchange_rate_scale))
end
|