46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/rubocop/cop/money/missing_currency.rb', line 46
def autocorrect(node)
currency = cop_config['ReplacementCurrency']
return unless currency
receiver, method, _ = *node
lambda do |corrector|
money_new(node) do |amount, currency_arg|
return if currency_arg
corrector.replace(
node.loc.expression,
"#{receiver.source}.#{method}(#{amount&.source || 0}, '#{currency}')"
)
end
if to_money_without_currency?(node)
corrector.insert_after(node.loc.expression, "('#{currency}')")
elsif to_money_block?(node)
corrector.replace(
node.loc.expression,
"#{receiver.source}.#{method} { |x| x.to_money('#{currency}') }"
)
end
end
end
|