module CcyConvertor

Constants

VERSION

Attributes

configuration[RW]

Public Class Methods

configure() { |configuration| ... } click to toggle source
# File lib/ccy_convertor/configuration.rb, line 9
def configure
  yield(configuration) if block_given?
end
convert(options) click to toggle source
# File lib/ccy_convertor.rb, line 25
def convert(options)
  amount = rate_provider(options).convert(options)
  return amount if CcyConvertor.configuration.round_up_amount.nil?
  amount.to_f.round(CcyConvertor.configuration.round_up_amount)
end
rate(options) click to toggle source
# File lib/ccy_convertor.rb, line 18
def rate(options)
  RateProvider.validate_presence_of_hash_keys!(options, [:from_ccy, :to_ccy])
  rate = rate_provider(options).rate(options[:to_ccy], options[:from_ccy])
  return rate if CcyConvertor.configuration.round_up_rate.nil?
  rate.to_f.round(CcyConvertor.configuration.round_up_rate)
end
rate_provider(options) click to toggle source
# File lib/ccy_convertor.rb, line 31
def rate_provider(options)
  options[:rate_provider] || CcyConvertor.configuration.default_rate_provider
end