Class: Openapi3Parser::NodeFactory::Array::ValidNodeBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi3_parser/node_factory/array.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(factory) ⇒ ValidNodeBuilder

Returns a new instance of ValidNodeBuilder.



108
109
110
111
# File 'lib/openapi3_parser/node_factory/array.rb', line 108

def initialize(factory)
  @factory = factory
  @validatable = Validation::Validatable.new(factory)
end

Class Method Details

.data(factory) ⇒ Object



104
105
106
# File 'lib/openapi3_parser/node_factory/array.rb', line 104

def self.data(factory)
  new(factory).data
end

.errors(factory) ⇒ Object



100
101
102
# File 'lib/openapi3_parser/node_factory/array.rb', line 100

def self.errors(factory)
  new(factory).errors
end

Instance Method Details

#dataObject



121
122
123
124
125
126
127
128
129
130
131
# File 'lib/openapi3_parser/node_factory/array.rb', line 121

def data
  return default_value if factory.nil_input?

  TypeChecker.raise_on_invalid_type(factory.context, type: ::Array)
  check_values(raise_on_invalid: true)
  validate(raise_on_invalid: true)

  factory.data.map do |value|
    value.respond_to?(:node) ? value.node : value
  end
end

#errorsObject



113
114
115
116
117
118
119
# File 'lib/openapi3_parser/node_factory/array.rb', line 113

def errors
  return validatable.collection if factory.nil_input?
  TypeChecker.validate_type(validatable, type: ::Array)
  return validatable.collection if validatable.errors.any?
  collate_errors
  validatable.collection
end