Sha256: 1b9cfaa6e140e1c33db61da17740504709aad7f79b29ba26c3955bbafc2cd6fb

Contents?: true

Size: 589 Bytes

Versions: 6

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

6 entries across 6 versions & 1 rubygems

Version Path
rom-core-5.1.2 lib/rom/processor.rb
rom-core-5.1.1 lib/rom/processor.rb
rom-core-5.1.0 lib/rom/processor.rb
rom-core-5.0.2 lib/rom/processor.rb
rom-core-5.0.1 lib/rom/processor.rb
rom-core-5.0.0 lib/rom/processor.rb