Class: RailsOpenapiGen::Processors::ComponentSchemaProcessor

Inherits:
AstToSchemaProcessor show all
Defined in:
lib/rails-openapi-gen/processors/component_schema_processor.rb

Overview

Processor that converts AST nodes to OpenAPI schema format for components Differs from AstToSchemaProcessor by inline expanding component references

Instance Method Summary collapse

Methods inherited from AstToSchemaProcessor

#initialize, #process_to_schema, #visit_array, #visit_object, #visit_partial, #visit_unknown

Methods inherited from BaseProcessor

#process, #process_nodes, #should_process?, #visit, #visit_array, #visit_object, #visit_partial, #visit_unknown

Constructor Details

This class inherits a constructor from RailsOpenapiGen::Processors::AstToSchemaProcessor

Instance Method Details

#visit_property(node) ⇒ Hash

Visit a property node (override to inline expand component references)

Parameters:

Returns:

  • (Hash)

    Property schema



12
13
14
15
16
17
18
19
20
21
# File 'lib/rails-openapi-gen/processors/component_schema_processor.rb', line 12

def visit_property(node)
  # For component generation, we inline expand component references instead of using $ref
  if node.is_component_ref && node.component_name
    puts "🔄 Inline expanding component reference: #{node.component_name}" if ENV['RAILS_OPENAPI_DEBUG']
    return inline_expand_component_reference(node)
  end

  # Use the parent implementation for regular properties
  super
end