class Pry::Command::ShowInfo
Private Instance Methods
build_signature_string(signature)
click to toggle source
# File lib/pry-sorbet/extensions.rb, line 31 def build_signature_string(signature) call_chain = [] # Modifiers if signature.mode != "standard" # This is a string like "overridable_override" call_chain += signature.mode.split("_") end # Parameters all_parameters = [] # Positional all_parameters += signature.arg_types.map do |(name, type)| "#{name}: #{type}" end # Splat if signature.rest_type all_parameters << "#{signature.rest_name}: #{signature.rest_type}" end # Keyword all_parameters += signature.kwarg_types.map do |(name, type)| "#{name}: #{type}" end # Double-splat if signature.rest_type all_parameters << "#{signature.keyrest_name}: #{signature.keyrest_type}" end # Block if signature.block_type all_parameters << "#{signature.block_name}: #{signature.block_type}" end call_chain << "params(#{all_parameters.join(", ")})" if all_parameters.any? # Returns if signature.return_type.is_a?(T::Private::Types::Void) call_chain << "void" else call_chain << "returns(#{signature.return_type})" end "sig { #{call_chain.join(".")} }" end