Method: Bitex::Rates.calculate_path
- Defined in:
- lib/bitex/rates.rb
.calculate_path(value, path) ⇒ Object
rubocop:disable Metrics/AbcSize
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/bitex/rates.rb', line 26 def self.calculate_path(value, path) value = value.to_d path_to_calculator(path).each do |step| step.symbolize_keys! case step[:type].to_sym when :exchange value *= step[:rate].to_d when :percentual_fee value *= 1 - (step[:percentage].to_d / 100.to_d) when :fixed_fee value -= step[:amount].to_d when :minimum_fee value -= [step[:minimum].to_d, value * step[:percentage].to_d / 100.to_d].max end end value end |