class Steep::Interface::Params

def to_s

def to_s
  required = self.required.map {|ty| ty.to_s }
  optional = self.optional.map {|ty| "?#{ty}" }
  rest = self.rest ? ["*#{self.rest}"] : []
  required_keywords = self.required_keywords.map {|name, type| "#{name}: #{type}" }
  optional_keywords = self.optional_keywords.map {|name, type| "?#{name}: #{type}"}
  rest_keywords = self.rest_keywords ? ["**#{self.rest_keywords}"] : []
  "(#{(required + optional + rest + required_keywords + optional_keywords + rest_keywords).join(", ")})"
end