class DuckTesting::YARD::MethodParameter

Attributes

default[R]
method_object[R]
name[R]
parameter_tag[R]

Public Class Methods

new(method_object, name, default, parameter_tag) click to toggle source

@param method_object [DuckTesting::YARD::MethodObject] @param name [String] @param default [String] @param parameter_tag [YARD::Tags::Tag]

# File lib/duck_testing/yard/method_parameter.rb, line 10
def initialize(method_object, name, default, parameter_tag)
  @method_object = method_object
  @name = name
  @default = default
  @parameter_tag = parameter_tag
end

Public Instance Methods

documented?() click to toggle source

@return [Boolean]

# File lib/duck_testing/yard/method_parameter.rb, line 29
def documented?
  !parameter_tag.nil?
end
expected_types() click to toggle source

@return [Array<DuckTesting::Type::Base>]

# File lib/duck_testing/yard/method_parameter.rb, line 44
def expected_types
  parameter_tag ? DuckTesting::YARD.expected_types(parameter_tag.types) : []
end
key_name() click to toggle source

@return [Symbol, nil]

# File lib/duck_testing/yard/method_parameter.rb, line 39
def key_name
  keyword? ? name[0...-1].to_sym : nil
end
keyword?() click to toggle source

@return [Boolean]

# File lib/duck_testing/yard/method_parameter.rb, line 34
def keyword?
  name.end_with?(":")
end
to_s() click to toggle source

@return [String]

# File lib/duck_testing/yard/method_parameter.rb, line 18
def to_s
  if default.nil?
    name
  elsif name.end_with?(":")
    "#{name} #{default}"
  else
    "#{name} = #{default}"
  end
end