Sha256: 035954531abd3921e7a230ac0a3482e530166739fdab61ac70283c34edc3bb84

Contents?: true

Size: 589 Bytes

Versions: 1

Compression:

Stored size: 589 Bytes

Contents

# frozen_string_literal: true

require "rom/mapper"

module ROM
  # Abstract processor class
  #
  # Every ROM processor should inherit from this class
  #
  # @api public
  class Processor
    # Hook used to auto-register a processor class
    #
    # @api private
    def self.inherited(processor)
      Mapper.register_processor(processor)
    end

    # Required interface to be implemented by descendants
    #
    # @return [Processor]
    #
    # @abstract
    #
    # @api private
    def self.build
      raise NotImplementedError, "+build+ must be implemented"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-6.0.0.alpha1 lib/rom/processor.rb