Sha256: 1d5623878561888079f58bc53383d0f07fa2bd2e374b4b6c8bdc13511299441a

Contents?: true

Size: 438 Bytes

Versions: 2

Compression:

Stored size: 438 Bytes

Contents

require 'rom/support/cache'
require 'rom/mapper'
require 'rom/repository/header_builder'

module ROM
  class Repository
    # @api private
    class MapperBuilder
      extend 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

2 entries across 2 versions & 1 rubygems

Version Path
rom-repository-0.3.1 lib/rom/repository/mapper_builder.rb
rom-repository-0.3.0 lib/rom/repository/mapper_builder.rb