class RuboCop::Cop::Money::ZeroMoney
def autocorrect(node)
def autocorrect(node) receiver, _ = *node lambda do |corrector| money_zero(node) do |currency_arg| replacement_currency = replacement_currency(currency_arg) corrector.replace( node.loc.expression, "#{receiver.source}.new(0, #{replacement_currency})" ) end end end
def on_send(node)
def on_send(node) money_zero(node) do |currency_arg| add_offense(node, message: format(MSG, currency: replacement_currency(currency_arg))) end end
def replacement_currency(currency_arg)
def replacement_currency(currency_arg) return currency_arg.first.source unless currency_arg.empty? return "'#{cop_config['ReplacementCurrency']}'" if cop_config['ReplacementCurrency'] 'Money::NULL_CURRENCY' end