Sha256: 51de2790fa2fcb328f4bff84297b101fb19d5ef079aeec2396c9e97e7a1c0f4c

Contents?: true

Size: 707 Bytes

Versions: 3

Compression:

Stored size: 707 Bytes

Contents

# frozen_string_literal: true

require 'dry/core/class_attributes'
require 'transproc/transformer'

require 'rom/processor/transproc'

module ROM
  # Transformer is a data mapper which uses Transproc's transformer DSL to define
  # transformations.
  #
  # @api public
  class Transformer < Transproc::Transformer[ROM::Processor::Transproc::Functions]
    extend Dry::Core::ClassAttributes

    defines :relation, :register_as

    # This is needed to make transformers compatible with rom setup
    #
    # @api private
    def self.base_relation
      relation
    end

    # Build a mapper instance
    #
    # @return [Transformer]
    #
    # @api public
    def self.build
      new
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rom-core-5.0.2 lib/rom/transformer.rb
rom-core-5.0.1 lib/rom/transformer.rb
rom-core-5.0.0 lib/rom/transformer.rb