Sha256: e56af979089fd41ddd77f21c01fab9ca41e9cbed306e5bdbabc69361e13cc0d8

Contents?: true

Size: 459 Bytes

Versions: 2

Compression:

Stored size: 459 Bytes

Contents

# encoding: utf-8

module ROM
  class Mapper
    class Loader

      # Special type of Allocator loader which uses attribute writers
      #
      # @private
      class AttributeWriter < Allocator

        # @api private
        def call(tuple)
          allocate { |attribute, object|
            object.public_send("#{attribute.name}=", tuple[attribute.name])
          }
        end

      end # AttributeWriter

    end # Loader
  end # Mapper
end # ROM

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rom-mapper-0.1.1 lib/rom/mapper/loader/attribute_writer.rb
rom-mapper-0.1.0 lib/rom/mapper/loader/attribute_writer.rb