lib/parlour/rbi_generator/class_namespace.rb in parlour-4.0.1 vs lib/parlour/rbi_generator/class_namespace.rb in parlour-5.0.0.beta.1

- old
+ new

@@ -1,15 +1,15 @@ # typed: true module Parlour - class RbiGenerator + class RbiGenerator < Generator # Represents a class definition. class ClassNamespace < Namespace extend T::Sig sig do params( - generator: RbiGenerator, + generator: Generator, name: String, final: T::Boolean, superclass: T.nilable(String), abstract: T::Boolean, block: T.nilable(T.proc.params(x: ClassNamespace).void) @@ -45,11 +45,11 @@ # @return [Array<String>] The RBI lines, formatted as specified. def generate_rbi(indent_level, options) class_definition = superclass.nil? \ ? "class #{name}" : "class #{name} < #{superclass}" - + lines = generate_comments(indent_level, options) lines << options.indented(indent_level, class_definition) lines += [options.indented(indent_level + 1, "abstract!"), ""] if abstract lines += generate_body(indent_level + 1, options) lines << options.indented(indent_level, "end") @@ -113,9 +113,14 @@ # @return [String] def describe "Class #{name} - #{"superclass #{superclass}, " if superclass}" + "#{"abstract, " if abstract}#{children.length} children, " + "#{includes.length} includes, #{extends.length} extends" + end + + sig { override.void } + def generalize_from_rbi! + super end end end end