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