Class: Openapi3Parser::Source::ReferenceResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi3_parser/source/reference_resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(reference, factory, context) ⇒ ReferenceResolver

Returns a new instance of ReferenceResolver.



6
7
8
9
10
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 6

def initialize(reference, factory, context)
  @reference = reference
  @factory = factory
  @context = context
end

Instance Method Details

#errorsObject



32
33
34
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 32

def errors
  @errors ||= Array(build_errors)
end

#in_root_source?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 40

def in_root_source?
  source == context.document.root_source
end

#nodeObject



36
37
38
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 36

def node
  reference_factory.node
end

#reference_factoryObject



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 12

def reference_factory
  @reference_factory ||= begin
                           next_context = Context.reference_field(
                             context,
                             input: source.data_at_pointer(json_pointer),
                             source: source,
                             pointer_segments: json_pointer
                           )
                           build_factory(next_context)
                         end
end

#resolved_inputObject



24
25
26
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 24

def resolved_input
  reference_factory.resolved_input
end

#valid?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 28

def valid?
  errors.empty?
end