class YARD::Parser::Ruby::ParameterNode

Public Instance Methods

block_param() click to toggle source
# File lib/yard/parser/ruby/ast_node.rb, line 425
def block_param
  self[-1] ? self[-1][0] : nil
end
double_splat_param() click to toggle source
# File lib/yard/parser/ruby/ast_node.rb, line 413
def double_splat_param
  return nil unless YARD.ruby2?
  if (node = self[-2]).is_a?(AstNode)
    if node.type == :ident
      node
    elsif node.type == :kwrest_param
      # See https://bugs.ruby-lang.org/issues/12387
      node.last
    end
  end
end
named_params() click to toggle source
# File lib/yard/parser/ruby/ast_node.rb, line 395
def named_params
  return @named_params if defined?(@named_params)

  if YARD.ruby2? && self[-3] && self[-3][0] && self[-3][0].type == :named_arg
    @named_params = self[-3]
  else
    @named_params = nil
  end
end
splat_param() click to toggle source
# File lib/yard/parser/ruby/ast_node.rb, line 405
def splat_param
  self[2] ? self[2][0] : nil
end
unnamed_end_params() click to toggle source
# File lib/yard/parser/ruby/ast_node.rb, line 409
def unnamed_end_params
  self[3]
end
unnamed_optional_params() click to toggle source
# File lib/yard/parser/ruby/ast_node.rb, line 384
def unnamed_optional_params
  return @unnamed_optional_params if defined?(@unnamed_optional_params)

  params = self[1] || []
  if self[-3] && self[-3][0] && self[-3][0].type == :unnamed_optional_arg
    params += self[-3]
  end

  @unnamed_optional_params = params.empty? ? nil : params
end
unnamed_required_params() click to toggle source
# File lib/yard/parser/ruby/ast_node.rb, line 380
def unnamed_required_params
  self[0]
end