class YARD::Handlers::Ruby::MethodHandler

Handles a method definition

Public Instance Methods

format_args() click to toggle source
# File lib/yard/handlers/ruby/method_handler.rb, line 74
def format_args
  args = statement.parameters

  params = []

  if args.unnamed_required_params
    params += args.unnamed_required_params.map {|a| [a.source, nil] }
  end

  if args.unnamed_optional_params
    params += args.unnamed_optional_params.map do |a|
      [a[0].source, a[1].source]
    end
  end

  params << ['*' + args.splat_param.source, nil] if args.splat_param

  if args.unnamed_end_params
    params += args.unnamed_end_params.map {|a| [a.source, nil] }
  end

  if args.named_params
    params += args.named_params.map do |a|
      [a[0].source, a[1] ? a[1].source : nil]
    end
  end

  if args.double_splat_param
    params << ['**' + args.double_splat_param.source, nil]
  end

  params << ['&' + args.block_param.source, nil] if args.block_param

  params
end
method_signature() click to toggle source
# File lib/yard/handlers/ruby/method_handler.rb, line 110
def method_signature
  method_name = statement.method_name(true)
  if statement.parameters.any? {|e| e }
    "def #{method_name}(#{statement.parameters.source})"
  else
    "def #{method_name}"
  end
end