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