Sha256: be0526dff4b5e264d92d0532c169ba6479ac5168de82f08748ba8eec3d837d92

Contents?: true

Size: 381 Bytes

Versions: 3

Compression:

Stored size: 381 Bytes

Contents

# encoding: utf-8

class TestMapper < Struct.new(:header, :model)

  def call(relation)
    relation
  end

  def load(tuple)
    model.new(
      Hash[
        header.map { |attribute| [attribute.name, tuple[attribute.name]] }
      ]
    )
  end

  def dump(object)
    header.each_with_object([]) { |attribute, tuple|
      tuple << object.send(attribute.name)
    }
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rom-relation-0.1.2 spec/support/test_mapper.rb
rom-relation-0.1.1 spec/support/test_mapper.rb
rom-relation-0.1.0 spec/support/test_mapper.rb