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.



9
10
11
12
13
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 9

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

Instance Method Details

#errorsObject



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

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

#in_root_source?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 43

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

#nodeObject



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

def node
  reference_factory.node
end

#reference_factoryObject



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/openapi3_parser/source/reference_resolver.rb', line 15

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



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

def resolved_input
  reference_factory.resolved_input
end

#valid?Boolean

Returns:

  • (Boolean)


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

def valid?
  errors.empty?
end