Sha256: 616eeccaeceaad12178819c59a42b035f0ad8d0137ff3558320a2881cf7df136
Contents?: true
Size: 899 Bytes
Versions: 11
Compression:
Stored size: 899 Bytes
Contents
require 'genesis_ruby/errors/invalid_argument_error' module GenesisRuby module Utils module Money # Money Helper class Format attr_accessor :strategy def initialize(strategy) @strategy = strategy end # Execute Convert Strategy def convert unless valid_amount_exponent? raise GenesisRuby::InvalidArgumentError, 'Currency exponent do not match the given amount' end strategy.convert end # Validate the given amount against the defined currency exponent def valid_amount_exponent? amount_sign, amount_digits, amount_base, amount_exponent = strategy.amount.split # rubocop:disable Lint/UselessAssignment !amount_sign.negative? && (amount_digits.length - amount_exponent) <= strategy.currency_exponent end end end end end
Version data entries
11 entries across 11 versions & 1 rubygems