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