Class: RailsOpenapiGen::Parsers::Jbuilder::Processors::ObjectProcessor
- Inherits:
-
BaseProcessor
- Object
- Parser::AST::Processor
- BaseProcessor
- RailsOpenapiGen::Parsers::Jbuilder::Processors::ObjectProcessor
- Defined in:
- lib/rails-openapi-gen/parsers/jbuilder/processors/object_processor.rb
Constant Summary collapse
- CallDetectors =
Alias for shorter reference to call detectors
RailsOpenapiGen::Parsers::Jbuilder::CallDetectors
Constants inherited from BaseProcessor
Class Method Summary collapse
-
.composite_processor_class ⇒ Object
Lazy load CompositeProcessor to avoid circular dependency.
Instance Method Summary collapse
-
#on_block(node) ⇒ void
Processes block nodes for nested object blocks.
Methods inherited from BaseProcessor
#handler_missing, #initialize, #on_if, #partials, #properties
Constructor Details
This class inherits a constructor from RailsOpenapiGen::Parsers::Jbuilder::Processors::BaseProcessor
Class Method Details
.composite_processor_class ⇒ Object
Lazy load CompositeProcessor to avoid circular dependency
11 12 13 |
# File 'lib/rails-openapi-gen/parsers/jbuilder/processors/object_processor.rb', line 11 def self.composite_processor_class RailsOpenapiGen::Parsers::Jbuilder::Processors::CompositeProcessor end |
Instance Method Details
#on_block(node) ⇒ void
This method returns an undefined value.
Processes block nodes for nested object blocks
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/rails-openapi-gen/parsers/jbuilder/processors/object_processor.rb', line 18 def on_block(node) send_node, args_node, = node.children receiver, method_name, = send_node.children if CallDetectors::JsonCallDetector.json_property?(receiver, method_name) && method_name != :array! # Check if this is a nested object block (no block arguments) if !args_node || args_node.type != :args || args_node.children.empty? # This is a nested object block like json.profile do process_nested_object_block(node, method_name.to_s) else super end else super end end |