class Rage::OpenAPI::Parsers::Ext::Alba

def __parse(klass_str)

def __parse(klass_str)
  is_collection, klass_str = Rage::OpenAPI.__try_parse_collection(klass_str)
  klass = @namespace.const_get(klass_str)
  source_path, _ = Object.const_source_location(klass.name)
  ast = Prism.parse_file(source_path)
  visitor = Visitor.new(self, is_collection)
  ast.value.accept(visitor)
  visitor
end

def __parse_nested(klass_str)

def __parse_nested(klass_str)
  __parse(klass_str).tap { |visitor|
    visitor.root_key = visitor.root_key_for_collection = visitor.root_key_proc = visitor.key_transformer = nil
  }.build_schema
end

def initialize(namespace: Object, **)

def initialize(namespace: Object, **)
  @namespace = namespace
end

def known_definition?(str)

def known_definition?(str)
  _, str = Rage::OpenAPI.__try_parse_collection(str)
  defined?(Alba::Resource) && @namespace.const_get(str).ancestors.include?(Alba::Resource)
rescue NameError
  false
end

def parse(klass_str)

def parse(klass_str)
  __parse(klass_str).build_schema
end