Sha256: 57418344ca9238e579de147b54d47013fb75d4fb9117b0fbcfeee0a95da2186c
Contents?: true
Size: 639 Bytes
Versions: 8
Compression:
Stored size: 639 Bytes
Contents
require 'spec_helper' describe 'Registering Custom Mappers' do include_context 'users and tasks' it 'allows registering arbitrary objects as mappers' do model = Struct.new(:name, :email) mapper = -> users { users.map { |tuple| model.new(*tuple.values_at(:name, :email)) } } setup.relation(:users) do def by_name(name) restrict(name: name) end end setup.mappers do register(:users, entity: mapper) end rom = setup.finalize users = rom.relation(:users).by_name('Jane').as(:entity) expect(users).to match_array([model.new('Jane', 'jane@doe.org')]) end end
Version data entries
8 entries across 8 versions & 1 rubygems