Sha256: 52fcc481822cffe8dd4eafd68a1849b8037bff8259e4d52fdaa2ec518a744ab9

Contents?: true

Size: 676 Bytes

Versions: 8

Compression:

Stored size: 676 Bytes

Contents

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

8 entries across 8 versions & 1 rubygems

Version Path
rom-mapper-1.2.1 lib/rom/transformer.rb
rom-mapper-1.2.0 lib/rom/transformer.rb
rom-mapper-1.1.0 lib/rom/transformer.rb
rom-mapper-1.0.2 lib/rom/transformer.rb
rom-mapper-1.0.1 lib/rom/transformer.rb
rom-mapper-1.0.0 lib/rom/transformer.rb
rom-mapper-1.0.0.rc2 lib/rom/transformer.rb
rom-mapper-1.0.0.rc1 lib/rom/transformer.rb