.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "KiokuX::Model 3pm" .TH KiokuX::Model 3pm "2009-07-30" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" KiokuX::Model \- A simple application specific wrapper for KiokuDB. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& # start with the base class: \& \& KiokuX::Model\->new( dsn => "bdb:dir=/var/myapp/db" ); \& \& \& \& # later you can add convenience methods by subclassing: \& \& package MyApp::DB; \& use Moose; \& \& extends qw(KiokuX::Model); \& \& sub add_user { \& my ( $self, @args ) = @_; \& \& my $user = MyApp::User\->new(@args); \& \& $self\->txn_do(sub { \& $self\->insert($user); \& }); \& \& return $user; \& } \& \& \& # Then just use it like this: \& \& MyApp::DB\->new( dsn => "bdb:dir=/var/myapp/db" ); \& \& # or automatically using e.g. L: \& \& $c\->model("kiokudb"); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This base class makes it easy to create KiokuDB database instances in your application. It provides a standard way to instantiate and use a KiokuDB object in your apps. .PP As your app grows you can subclass it and provide additional convenience methods, without changing the structure of the code, but simply swapping your subclass for KiokuX::Model in e.g. Catalyst::Model::KiokuDB or whatever you use to glue it in. .SH "ATTRIBUTES" .IX Header "ATTRIBUTES" .IP "directory" 4 .IX Item "directory" The instantiated directory. .Sp Created using the other attributes at \f(CW\*(C`BUILD\*(C'\fR time. .Sp This attribute has delegations set up for all the methods of the KiokuDB class. .IP "dsn" 4 .IX Item "dsn" e.g. \f(CW\*(C`bdb:dir=root/db\*(C'\fR. See \*(L"connect\*(R" in KiokuDB. .IP "extra_args" 4 .IX Item "extra_args" Additional arguments to pass to \f(CW\*(C`connect\*(C'\fR. .Sp Can be a hash reference or an array reference. .IP "typemap" 4 .IX Item "typemap" An optional custom typemap to add. See KiokuDB::Typemap and \&\*(L"typemap\*(R" in KiokuDB. .SH "SEE ALSO" .IX Header "SEE ALSO" KiokuDB, KiokuDB::Role::API, Catalyst::Model::KiokuDB .SH "VERSION CONTROL" .IX Header "VERSION CONTROL" KiokuDB is maintained using Git. Information about the repository is available on .SH "AUTHOR" .IX Header "AUTHOR" Yuval Kogman .SH "COPYRIGHT" .IX Header "COPYRIGHT" .Vb 3 \& Copyright (c) 2009 Yuval Kogman, Infinity Interactive. All \& rights reserved This program is free software; you can redistribute \& it and/or modify it under the same terms as Perl itself. .Ve .PP =