Class: Mindee::V2::Product::Extraction::Params::DataSchemaReplace

Inherits:
Object
  • Object
show all
Defined in:
lib/mindee/v2/product/extraction/params/data_schema_replace.rb

Overview

The structure to completely replace the data schema of the model.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data_schema_replace) ⇒ DataSchemaReplace

Returns a new instance of DataSchemaReplace.

Parameters:

  • data_schema_replace (Hash)

Raises:



16
17
18
19
20
21
22
23
# File 'lib/mindee/v2/product/extraction/params/data_schema_replace.rb', line 16

def initialize(data_schema_replace)
  data_schema_replace.transform_keys!(&:to_sym)
  fields_list = data_schema_replace[:fields]
  raise Mindee::Error::MindeeError, 'Invalid Data Schema provided.' if fields_list.nil?
  raise TypeError, 'Data Schema replacement fields cannot be empty.' if fields_list.empty?

  @fields = fields_list.map { |field| DataSchemaField.new(field) }
end

Instance Attribute Details

#fieldsArray<DataSchemaField> (readonly)

Returns Subfields when type is nested_object. Leave empty for other types.

Returns:

  • (Array<DataSchemaField>)

    Subfields when type is nested_object. Leave empty for other types.



13
14
15
# File 'lib/mindee/v2/product/extraction/params/data_schema_replace.rb', line 13

def fields
  @fields
end

Instance Method Details

#to_hashHash

Returns:

  • (Hash)


26
27
28
# File 'lib/mindee/v2/product/extraction/params/data_schema_replace.rb', line 26

def to_hash
  { fields: @fields.map(&:to_hash) }
end

#to_sString

Returns:

  • (String)


31
32
33
# File 'lib/mindee/v2/product/extraction/params/data_schema_replace.rb', line 31

def to_s
  to_hash.to_json
end