Class: RuboCop::Cop::Money::MissingCurrency
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::Money::MissingCurrency
- Defined in:
- lib/rubocop/cop/money/missing_currency.rb
Instance Method Summary collapse
- #autocorrect(node) ⇒ Object
- #on_send(node) ⇒ Object (also: #on_csend)
Instance Method Details
#autocorrect(node) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/rubocop/cop/money/missing_currency.rb', line 48 def autocorrect(node) 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}, #{replacement_currency})" ) end if to_money_without_currency?(node) corrector.insert_after(node.loc.expression, "(#{replacement_currency})") elsif to_money_block?(node) corrector.replace( node.loc.expression, "#{receiver.source}.#{method} { |x| x.to_money(#{replacement_currency}) }" ) end end end |
#on_send(node) ⇒ Object Also known as: on_csend
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/rubocop/cop/money/missing_currency.rb', line 34 def on_send(node) money_new(node) do |amount, currency_arg| return if amount&.splat_type? return if currency_arg add_offense(node, message: 'Money is missing currency argument') end if to_money_block?(node) || to_money_without_currency?(node) add_offense(node, message: 'to_money is missing currency argument') end end |