Class: Openapi3Parser::NodeFactory::Fields::Reference
- Inherits:
-
Openapi3Parser::NodeFactory::Field
- Object
- Openapi3Parser::NodeFactory::Field
- Openapi3Parser::NodeFactory::Fields::Reference
- Defined in:
- lib/openapi3_parser/node_factory/fields/reference.rb
Defined Under Namespace
Classes: RecursiveResolvedInput
Instance Attribute Summary
Attributes inherited from Openapi3Parser::NodeFactory::Field
#context, #input_type, #validation
Instance Method Summary collapse
- #in_recursive_loop? ⇒ Boolean
-
#initialize(context, factory) ⇒ Reference
constructor
A new instance of Reference.
- #reference_context ⇒ Object
- #resolved_input ⇒ Object
Methods inherited from Openapi3Parser::NodeFactory::Field
#data, #default, #errors, #inspect, #nil_input?, #node, #raw_input, #valid?
Constructor Details
#initialize(context, factory) ⇒ Reference
Returns a new instance of Reference.
10 11 12 13 14 15 16 |
# File 'lib/openapi3_parser/node_factory/fields/reference.rb', line 10 def initialize(context, factory) context = Context.as_reference(context) super(context, input_type: String, validate: :validate) @factory = factory @reference = context.input @reference_resolver = create_reference_resolver end |
Instance Method Details
#in_recursive_loop? ⇒ Boolean
28 29 30 |
# File 'lib/openapi3_parser/node_factory/fields/reference.rb', line 28 def in_recursive_loop? context.source_location == reference_context&.source_location end |
#reference_context ⇒ Object
32 33 34 |
# File 'lib/openapi3_parser/node_factory/fields/reference.rb', line 32 def reference_context context.referenced_by end |
#resolved_input ⇒ Object
18 19 20 21 22 23 24 25 26 |
# File 'lib/openapi3_parser/node_factory/fields/reference.rb', line 18 def resolved_input return unless reference_resolver if in_recursive_loop? RecursiveResolvedInput.new(reference_context) else reference_resolver.resolved_input end end |