Sha256: 06354bf20d3e837c181fced5b6e56314a79e5975555eedf18de6ba185836e4db

Contents?: true

Size: 944 Bytes

Versions: 41

Compression:

Stored size: 944 Bytes

Contents

# hash object loader
class OpenAPIParser::SchemaLoader::HashObjectsLoader < OpenAPIParser::SchemaLoader::Creator
  # @param [OpenAPIParser::Schemas::Base] target_object
  # @param [Hash] raw_schema
  # @return [Array<OpenAPIParser::Schemas::Base>, nil]
  def load_data(target_object, raw_schema)
    create_attr_hash_object(target_object, raw_schema[ref_name_base.to_s])
  end

  private

    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

    alias_method :ref_name_base, :schema_key
end

Version data entries

41 entries across 41 versions & 2 rubygems

Version Path
openapi_parser-2.2.3 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-2.2.2 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-2.2.1 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-2.2.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-2.1.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-2.0.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser_firetail-1.0.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-1.0.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-1.0.0.beta1 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.15.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.14.1 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.14.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.13.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.12.1 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.12.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.11.2 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.11.1 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.11.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.10.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb
openapi_parser-0.9.0 lib/openapi_parser/concerns/schema_loader/hash_objects_loader.rb