1#!/usr/bin/perl -w 2 3use strict; 4use warnings; 5 6package My::Book; 7use Moo; 8 9has '_row' => (is => 'ro', default => sub { {} }); 10 11use Test::More tests => 2; 12use DBIx::Lite; 13 14my $dbix = DBIx::Lite->new; 15$dbix->connect('dbi:SQLite:dbname=t/test.db', '', ''); 16 17$dbix->dbh->do('DROP TABLE IF EXISTS books'); 18$dbix->dbh->do('CREATE TABLE books (id NUMBER, title TEXT, year NUMBER, author_id NUMBER)'); 19$dbix->table('books')->insert({ id => 1, title => 'Camel Tales', year => 2012, author_id => 1 }); 20$dbix->schema->table('books')->pk('id'); 21$dbix->schema->table('books')->class('My::Book', 'new', '_row'); 22 23{ 24 my $book = $dbix->table('books')->find({ id => 1 }); 25 isa_ok $book, 'My::Book'; 26 is $book->title, 'Camel Tales'; 27} 28 29__END__ 30