Method: RubyNext::Language::Rewriters::RefinementImportMethods#on_send

Defined in:
lib/ruby-next/language/rewriters/3.1/refinement_import_methods.rb

#on_send(node) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/ruby-next/language/rewriters/3.1/refinement_import_methods.rb', line 34

def on_send(node)
  return super unless @within_refinement

  _receiver, mid, *children = *node

  return super unless mid == :import_methods

  context.track! self

  updated = node.updated(
    nil,
    [
      s(:const, s(:const, s(:cbase), :RubyNext), :Core),
      mid,
      *children,
      s(:send, nil, :binding)
    ]
  )

  replace(node.loc.expression, updated)

  updated
end