module Tins::MethodDescription

Public Instance Methods

description(style: :namespace) click to toggle source
# File lib/tins/method_description.rb, line 106
def description(style: :namespace)
  valid_styles = %[ namespace name parameters ]
  valid_styles.include?(style) or
    raise ArgumentError,
    "style has to be one of #{valid_styles * ', '}"
  if respond_to?(:parameters)
    generated_name = 'x0'
    parameter_array = parameters.map { |p_type, p_name|
      unless p_name
        generated_name = generated_name.succ
        p_name = generated_name
      end
      Parameters.build(p_type, p_name)
    }
    signature = Signature.new(*parameter_array)
    if style == :parameters
      return signature
    end
  end
  result = ''
  if style == :namespace
    if owner <= Module
      result << receiver.to_s << . # XXX Better to use owner here as well?
    else
      result << owner.name.to_s << #
    end
  end
  if %[ namespace name ].include?(style)
    result << name.to_s << '('
  end
  result << (signature || arity).to_s
  if %[ namespace name ].include?(style)
    result << )
  end
  result
end
signature() click to toggle source
# File lib/tins/method_description.rb, line 102
def signature
  description style: :parameters
end