class OpenAPIParser::SchemaLoader::HashObjectsLoader

hash object loader

Public Instance Methods

load_data(target_object, raw_schema) click to toggle source

@param [OpenAPIParser::Schemas::Base] target_object @param [Hash] raw_schema @return [Array<OpenAPIParser::Schemas::Base>, nil]

# File lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb, line 6
def load_data(target_object, raw_schema)
  create_attr_hash_object(target_object, raw_schema[ref_name_base.to_s])
end

Private Instance Methods

create_attr_hash_object(target_object, hash_schema) click to toggle source
# File lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb, line 12
def create_attr_hash_object(target_object, hash_schema)
  unless hash_schema
    variable_set(target_object, variable_name, nil)
    return
  end

  data_list = hash_schema.map do |key, s|
    ref = build_object_reference_from_base(target_object.object_reference, [ref_name_base, key])
    [key, build_openapi_object_from_option(target_object, ref, s)]
  end

  data = data_list.to_h
  variable_set(target_object, variable_name, data)
  data.values
end