module PaymentRecipes::Utils::Converters

Public Instance Methods

convert_to_money(amount:, currency:) click to toggle source
# File lib/payment_recipes/utils/converters.rb, line 20
def convert_to_money(amount:, currency:)
  nil_check(amount, currency) do
    raise Exception, "Money amount must be a String" unless amount.is_a?(String)

    ::Money.new(::BigDecimal.new(amount) * 100, currency)
  end
end
convert_to_string(target) click to toggle source
# File lib/payment_recipes/utils/converters.rb, line 14
def convert_to_string(target)
  nil_check(target) do
    target.to_s
  end
end
convert_to_symbol(target) click to toggle source
# File lib/payment_recipes/utils/converters.rb, line 28
def convert_to_symbol(target)
  nil_check(target) do
    target.to_sym
  end
end
convert_to_time(target) click to toggle source
# File lib/payment_recipes/utils/converters.rb, line 4
def convert_to_time(target)
  nil_check(target) do
    if defined?(Time.zone)
      Time.zone.parse(target)
    else
      Time.parse(target)
    end
  end
end

Private Instance Methods

nil_check(*target) { || ... } click to toggle source
# File lib/payment_recipes/utils/converters.rb, line 36
def nil_check(*target)
  if target.any? {|x| x.nil?}
    nil
  else
    yield if block_given?
  end
end