class RubyNext::Language::Rewriters::NumberedParams
Constants
- MIN_SUPPORTED_VERSION
- NAME
- SYNTAX_PROBE
Public Instance Methods
on_numblock(node)
click to toggle source
# File lib/ruby-next/language/rewriters/numbered_params.rb, line 13 def on_numblock(node) context.track! self proc_or_lambda, num, body = *node.children if proc_or_lambda.type == :lambda insert_before(node.loc.begin, "(#{proc_args_str(num)})") else insert_after(node.loc.begin, " |#{proc_args_str(num)}|") end node.updated( :block, [ proc_or_lambda, proc_args(num), body ] ) end
Private Instance Methods
proc_args(n)
click to toggle source
# File lib/ruby-next/language/rewriters/numbered_params.rb, line 40 def proc_args(n) return s(:args, s(:procarg0, s(:arg, :_1))) if n == 1 (1..n).map do |numero| s(:arg, :"_#{numero}") end.then do |args| s(:args, *args) end end
proc_args_str(n)
click to toggle source
# File lib/ruby-next/language/rewriters/numbered_params.rb, line 36 def proc_args_str(n) (1..n).map { |numero| "_#{numero}" }.join(", ") end