# frozen_string_literal: true require 'rom/files/schema/attributes_inferrer' module ROM module Files module Extensions module Markup class AttributesInferrer < Schema::AttributesInferrer def infer_attributes(schema, gateway) super + infer_markup_attributes(schema, gateway) end def infer_markup_attributes(schema, _gateway) [ build(markup_type.meta(DATA: true), DATA, schema) ] end # @return [Dry::Types::Definition] def markup_type raise NotImplementedError, "#{self.class}#markup_type is not implemented" end def columns super + [DATA] end end end end end end