use Moose;
no warnings 'uninitialized';
-our $VERSION = '0.28';
+our $VERSION = '0.32';
$VERSION = eval $VERSION;
use Carp;
exclude='^(wibble|wobble)$' moniker_map='{ foo => "FOO" }' \
dbi:Pg:dbname=foodb myuname mypass
+Coderefs are also supported:
+
+ script/myapp_create.pl model CatalystModelName DBIC::Schema \
+ MyApp::SchemaClass create=static \
+ inflect_singular='sub { $_[0] =~ /\A(.+?)(_id)?\z/; $1 }' \
+ moniker_map='sub { join(q{}, map ucfirst, split(/[\W_]+/, lc $_[0])); }' \
+ dbi:mysql:foodb myuname mypass
+
See L<DBIx::Class::Schema::Loader::Base> for a list of options
Create a dynamic DBIx::Class::Schema::Loader-based Schema,
$self->_parse_loader_args(\@args);
$helper->{loader_args} = $self->_build_helper_loader_args;
+ }
+ }
- my $dbi_dsn_part;
- if (first { ($dbi_dsn_part) = /^(dbi):/i } @args) {
- die
+ my $dbi_dsn_part;
+ if (first { ($dbi_dsn_part) = /^(dbi):/i } @args) {
+ die
qq{DSN must start with 'dbi:' not '$dbi_dsn_part' (case matters!)}
- if $dbi_dsn_part ne 'dbi';
+ if $dbi_dsn_part ne 'dbi';
- $helper->{setup_connect_info} = 1;
+ $helper->{setup_connect_info} = 1;
- $helper->{connect_info} =
- $self->_build_helper_connect_info(\@args);
+ $helper->{connect_info} =
+ $self->_build_helper_connect_info(\@args);
- $self->_parse_connect_info(\@args);
- }
- }
+ $self->_parse_connect_info(\@args);
}
$helper->{generator} = ref $self;
sub _is_struct {
my ($self, $val) = @_;
- return $val =~ /^\s*[[{]/;
+ return $val =~ /^\s*(?:sub|[[{])/;
}
sub _quote {
=head1 AUTHOR
-Brandon L Black, C<blblack@gmail.com>
+See L<Catalyst::Model::DBIC::Schema/AUTHOR> and
+L<Catalyst::Model::DBIC::Schema/CONTRIBUTORS>.
-Contributors:
+=head1 COPYRIGHT
-Rafael Kitover, C<rkitover at cpan.org>
+See L<Catalyst::Model::DBIC::Schema/COPYRIGHT>.
=head1 LICENSE