Class: ROM::Files::Schema::Inferrer

Inherits:
Schema::Inferrer
  • Object
show all
Defined in:
lib/rom/files/schema/inferrer.rb

Instance Attribute Summary collapse

Instance Attribute Details

#attr_classClass (readonly)

Returns:

  • (Class)


32
# File 'lib/rom/files/schema/inferrer.rb', line 32

attr_class Files::Attribute

#attributes_inferrerArray(Array, Array) (readonly)

Returns:

  • (Array(Array, Array))


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/rom/files/schema/inferrer.rb', line 14

attributes_inferrer ->(schema, gateway, options) do
  dataset = gateway.dataset(schema.name.dataset)
  inferrer = if dataset.mime_type
               if AttributesInferrer.registered?(content_type = dataset.mime_type.content_type)
                 AttributesInferrer[content_type].with(options)
               elsif AttributesInferrer.registered?(media_type = dataset.mime_type.media_type)
                 AttributesInferrer[media_type].with(options)
               else
                 AttributesInferrer.new(**options)
               end
             else
               AttributesInferrer.new(**options)
             end
  inferrer.(schema, gateway)
end