Class: Openapi3Parser::NodeFactory::Map::ValidNodeBuilder
- Inherits:
-
Object
- Object
- Openapi3Parser::NodeFactory::Map::ValidNodeBuilder
- Defined in:
- lib/openapi3_parser/node_factory/map.rb
Class Method Summary collapse
Instance Method Summary collapse
- #data ⇒ Object
- #errors ⇒ Object
-
#initialize(factory) ⇒ ValidNodeBuilder
constructor
A new instance of ValidNodeBuilder.
Constructor Details
#initialize(factory) ⇒ ValidNodeBuilder
Returns a new instance of ValidNodeBuilder.
122 123 124 125 |
# File 'lib/openapi3_parser/node_factory/map.rb', line 122 def initialize(factory) @factory = factory @validatable = Validation::Validatable.new(factory) end |
Class Method Details
.data(factory) ⇒ Object
118 119 120 |
# File 'lib/openapi3_parser/node_factory/map.rb', line 118 def self.data(factory) new(factory).data end |
.errors(factory) ⇒ Object
114 115 116 |
# File 'lib/openapi3_parser/node_factory/map.rb', line 114 def self.errors(factory) new(factory).errors end |
Instance Method Details
#data ⇒ Object
135 136 137 138 139 140 141 142 143 144 145 146 147 |
# File 'lib/openapi3_parser/node_factory/map.rb', line 135 def data return default_value if factory.nil_input? TypeChecker.raise_on_invalid_type(factory.context, type: ::Hash) check_unexpected_fields(raise_on_invalid: true) check_keys(raise_on_invalid: true) check_values(raise_on_invalid: true) validate(raise_on_invalid: true) factory.data.each_with_object({}) do |(key, value), memo| memo[key] = value.respond_to?(:node) ? value.node : value end end |
#errors ⇒ Object
127 128 129 130 131 132 133 |
# File 'lib/openapi3_parser/node_factory/map.rb', line 127 def errors return validatable.collection if factory.nil_input? TypeChecker.validate_type(validatable, type: ::Hash) return validatable.collection if validatable.errors.any? collate_errors validatable.collection end |