Sha256: 2e6ccaa74a0bbb786e068f9c29d2c24e24c5425f51a5b6ac8f9e9aa1ea901e46

Contents?: true

Size: 446 Bytes

Versions: 13

Compression:

Stored size: 446 Bytes

Contents

require 'dry/core/cache'
require 'rom/mapper'
require 'rom/repository/header_builder'

module ROM
  class Repository
    # @api private
    class MapperBuilder
      extend Dry::Core::Cache

      attr_reader :header_builder

      def initialize
        @header_builder = HeaderBuilder.new
      end

      def call(ast)
        fetch_or_store(ast) { Mapper.build(header_builder[ast]) }
      end
      alias_method :[], :call
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rom-repository-1.3.2 lib/rom/repository/mapper_builder.rb
rom-repository-1.3.1 lib/rom/repository/mapper_builder.rb
rom-repository-1.3.0 lib/rom/repository/mapper_builder.rb
rom-repository-1.2.0 lib/rom/repository/mapper_builder.rb
rom-repository-1.1.0 lib/rom/repository/mapper_builder.rb
rom-repository-1.0.2 lib/rom/repository/mapper_builder.rb
rom-repository-1.0.1 lib/rom/repository/mapper_builder.rb
rom-repository-1.0.0 lib/rom/repository/mapper_builder.rb
rom-repository-1.0.0.rc2 lib/rom/repository/mapper_builder.rb
rom-repository-1.0.0.rc1 lib/rom/repository/mapper_builder.rb
rom-repository-1.0.0.beta3 lib/rom/repository/mapper_builder.rb
rom-repository-1.0.0.beta2 lib/rom/repository/mapper_builder.rb
rom-repository-1.0.0.beta1 lib/rom/repository/mapper_builder.rb